JP3676934B2 - プロセッサおよびマルチプロセッサシステム - Google Patents

プロセッサおよびマルチプロセッサシステム Download PDF

Info

Publication number
JP3676934B2
JP3676934B2 JP35599698A JP35599698A JP3676934B2 JP 3676934 B2 JP3676934 B2 JP 3676934B2 JP 35599698 A JP35599698 A JP 35599698A JP 35599698 A JP35599698 A JP 35599698A JP 3676934 B2 JP3676934 B2 JP 3676934B2
Authority
JP
Japan
Prior art keywords
processor
snoop
failure
cache
level
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
JP35599698A
Other languages
English (en)
Other versions
JP2000181889A (ja
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP35599698A priority Critical patent/JP3676934B2/ja
Priority to US09/460,519 priority patent/US6584580B1/en
Publication of JP2000181889A publication Critical patent/JP2000181889A/ja
Application granted granted Critical
Publication of JP3676934B2 publication Critical patent/JP3676934B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/008Reliability or availability analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0721Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU]
    • G06F11/0724Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment within a central processing unit [CPU] in a multiprocessor or a multi-core unit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0831Cache consistency protocols using a bus scheme, e.g. with bus monitoring or watching means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc

Description

【0001】
【発明の属する技術分野】
本発明は、プロセッサおよびマルチプロセッサ技術に関し、特に、複数のプロセッサにて主記憶を共有する密結合型のマルチプロセッサシステムにおける障害処理等に適用して有効な技術に関する。
【0002】
【従来の技術】
情報処理技術の分野では、処理負荷を複数のプロセッサに分担させることで、単位時間当たりの情報処理能力や、プロセッサの多重化による障害耐性の向上を実現しようとするマルチプロセッサ技術が知られている。
【0003】
マルチプロセッサシステムを運用中に命令実行が継続不可能な障害が発生した場合には、プロセッサが二重化してあるようなシステムでは代替プロセッサに処理を再実行させ、システムダウンの可能性を低くすることができるが、図6に示すような密結合型マルチプロセッサシステムにおいて各プロセッサが独自のプログラムを走らせている場合、特にキャッシュの制御にライトバック方式を用いていると、致命的な障害が起きたプロセッサをシステムから切り離した場合に、プロセッサ内キャッシュに残る更新済み(ダーティ)データを主記憶に反映させることができないために、データの一貫性が保持できず、システムをダウンさせざるを得ない場合が多い。
【0004】
【発明が解決しようとする課題】
このような技術的課題を回避するために、例えば特開平10−105527号公報では、プロセッサバスに外部キャッシュと専用のコントローラを設け、各プロセッサの内蔵キャッシュが保持するデータをすべて包含させ、常に最新データが全プロセッサから見えるようにして、プロセッサなどの構成要素を多重化させなくてもシステムダウンを避ける方法を提案しているが、このような方法では本来必要ではない外部キャッシュやそのコントローラ等、新たなコストがかかる上に、プロセッサの台数増加に対応しきれないという技術的課題がある。
【0005】
マルチプロセッサシステムは性能向上のため、将来的には構成プロセッサ台数が増加すると考えられ、よりコストをかけずにシステムダウンを避ける方法が必要とされているが、現在は、例に挙げたようにプロセッサの外部に専用のコントローラ等の新たな機構を追加するしか有効な手段がなく、より低コストでシステムの信頼性を向上させるための汎用性ある方法が必要である。
【0006】
密結合マルチプロセッサシステムにおいて、あるプロセッサが命令処理続行不可能な障害を起こした場合にシステムを停止しなければならない理由は、一つには、各プロセッサのキャッシュがライトバック方式であった場合、障害を起こしたプロセッサのキャッシュ中に、まだ主記憶に反映されていない最新データが残っていても、障害でプロセッサを切り離すためにその最新データを主記憶や他のプロセッサに渡せないという点が挙げられる。
【0007】
また、別の要因としては、正常に動作しているプロセッサが発行したリクエストに対して、障害を起こしたプロセッサが応答を返せないと、正常に動作しているプロセッサの動作を止めてしまう可能性があるからである。
【0008】
本発明の目的は、ライトバック方式のキャッシュメモリを内蔵した複数のプロセッサにて構成される密結合型のマルチプロセッサシステムにおいて、プロセッサ外部に特別な機能を付加することなく低コストで、特定のプロセッサの障害によるシステムダウンを回避することにある。
【0009】
本発明の他の目的は、外部に特別な機能を設けることなく、密結合型のマルチプロセッサシステムを構成する場合において、スヌープ処理に関係する障害波及を最小限に止めることが可能なプロセッサを提供することにある。
【0010】
【課題を解決するための手段】
本発明は、マルチプロセッサシステムにおいて、あるプロセッサで命令処理続行が不可能な致命的障害が発生した場合にも、その障害のレベルを判断し、たとえ自命令の処理が不可能でも、キャッシュライン無効化(パージ)やダーティラインの主記憶への掃き出しなどのスヌープ応答処理が可能な限りはそのプロセッサを動作させることにより、他の正常動作しているプロセッサに継続動作を可能にさせ、システム全体を停止させることなく運用するための障害処理技術を提供する。
【0011】
すなわち、本発明では、主に密結合型マルチプロセッサシステムにおいて、システムを構成する各プロセッサが、自分の中で発生した障害の場所および重度を判定する手段と、命令実行が続行不可能でもパージやダーティライン掃き出し等のスヌープ応答処理が続行可能かどうかを判定する手段を持つ。
【0012】
さらに具体的には、プロセッサのキャッシュが複数階層で構成されていた場合には、障害が発生した場合に、コヒーレンシを管理する(ダーティラインを保持する)階層(一般には、最下層のみライト・バック方式で、それより上はライト・スルー方式が用いられる)のみ正常に動作できれば、他の階層のキャッシュ処理部で障害が発生した場合でも、それらの階層のキャッシュをスヌープ動作から切り離す手段を持ち、その手段によってバスからのスヌープ要求に応答できるので、コヒーレンシを維持する階層のキャッシュのみ正しく動作できれば、他の階層のキャッシュ処理に障害が発生しても、スヌープ応答が可能になる。
【0013】
プロセッサ内で何らかの障害を検出した場合には、前記各手段によって、障害が発生した場所およびそのレベルを判定し、命令処理の続行が不可能であれば、前記スヌープ応答処理が可能かどうかを判定し、もしスヌープ応答処理が続行可能であれば、命令続行を中止した状態でもバスからのスヌープ要求には応答することによって、他の正常に動作しているプロセッサを継続動作させ、その結果、システムダウンを防ぐ。
【0014】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら詳細に説明する。
【0015】
図1は、本発明の一実施の形態であるマルチプロセッサシステムを構成するプロセッサの内部構成の一例を示すブロック図である。
【0016】
本実施の形態のマルチプロセッサシステムは、プロセッサバス150を介して複数のプロセッサ100が主記憶160を共有する密結合型のマルチプロセッサシステムである。
【0017】
個々のプロセッサ100は、命令の発行及び演算を行う命令発行/演算ユニット(IU)101と、L1キャッシュ制御ユニット(MU)102と、L1キャッシュ105と、L2キャッシュ制御ユニット(SU)106と、L2キャッシュ109と、プロセッサバス150へのバスリクエスト発行およびプロセッサバス150からのスヌープを行うバスインターフェースユニット(PU)110と、障害処理を制御する障害処理ユニット(EU)111から構成される。
【0018】
L1キャッシュ105を制御するMU102には、スヌープ処理部104および自命令処理部103が設けられ、L2キャッシュ109を制御するSU106には、スヌープ処理部108および自命令処理部107が設けられ、PU110には、スヌープ処理部110Aおよび自命令処理部110Bが設けられている。
【0019】
そして、記憶階層を構成する主記憶160、L2キャッシュ109、L1キャッシュ105、の各階層と、IU101との間におけるデータの授受は、上位階層から下位階層側へのデータ転送要求信号124、データ転送要求信号126に基づいて、データ転送パス123、データ転送パス125、プロセッサバス150を介して実行される。
【0020】
L1キャッシュ105はライトスルー方式で制御を行い、L2キャッシュ109はライトバック方式で制御を行う。したがって、IU101から主記憶160の側にデータを書き出すストア命令が実行された場合、L1キャッシュ105に書き込み先のラインがあった場合にはL1キャッシュ105に書き込むとともにL2キャッシュ109にも書き込みを行い、書き込み先ラインが存在しなかった場合にはL1キャッシュ105には書き込まず、L2キャッシュ109のみに書き込みを行う。従って、更新されたデータ(ダーティデータ)は、キャッシュラインの置き換えや、明示的なダーティラインの掃き出し要求が発生しない限り、このL2キャッシュ109にしか存在しない。このため、スヌープによるプロセッサキャッシュ間コヒーレンシのチェックは、L2キャッシュ109のみで行っている。
【0021】
また、PU110はプロセッサバス150からのパージやダーティラインの掃き出し要求をスヌープすると、PU110からSU106とMU102へ、それぞれスヌープ処理要求118、スヌープ処理要求119を発行する。この際、ダーティラインはL2キャッシュ109にしか存在しないので、ダーティラインの掃き出し要求はSU106に対してしか発行されない。
【0022】
IU101、MU102、SU106、PU110は障害を検出すると、それぞれ障害発生および障害レベルを専用インターフェースである障害発生報告信号113、障害発生報告信号114、障害発生報告信号115、障害発生報告信号116を用いてEU111に報告する。
【0023】
上記障害レベルは、軽度障害(レベル0)、重度障害(レベル1)、動作不能障害(レベル2〜3)の3つに大別できる。EU111には、この障害レベルを判定する機能、および各障害レベルの処理を行う論理が備えられている。
【0024】
すなわち、図3に例示されるように、障害発生報告信号113〜116の各々は、障害のレベル0〜レベル3の4状態の各々を示す複数のレベルライン113a〜113d、レベルライン114a〜114d、レベルライン115a〜115d、レベルライン116a〜116dからなる。
【0025】
EU111の内部には、レベル0に対応した、ORゲート111a、ANDゲート111e、レベル0判定出力111i、およびレベル0障害処理論理111mと、
レベル1に対応した、ORゲート111b、ANDゲート111f、レベル1判定出力111j、およびレベル1障害処理論理111nと、
レベル2に対応した、ORゲート111c、ANDゲート111g、レベル2判定出力111k、およびレベル2障害処理論理111pと、
レベル3に対応した、ORゲート111d、レベル3判定出力111l、およびレベル3障害処理論理111qと、
が設けられている。
【0026】
最も上位のレベル3を処理するORゲート111dでは、レベル3の障害を示すレベルライン113d〜116dの一つが“1”のとき、レベル3判定出力111lを“1”にしてレベル3障害処理論理111qを起動する。また、レベル3判定出力111lは、論理反転されて、より下位の障害レベルのANDゲート111e〜111gに入力される。
【0027】
同様に、レベル2のORゲート111cの出力は、より下位のANDゲート111e〜111fに反転入力されるとともに、ANDゲート111gを経てレベル2判定出力111kとなる。
【0028】
同様に、レベル1のORゲート111bの出力は、より下位のANDゲート111eに反転入力されるとともに、ANDゲート111fを経てレベル1判定出力111jとなる。
【0029】
レベル0のORゲート111aの出力は、ANDゲート111eを経てレベル0判定出力111iとなる。
【0030】
従って、レベル0〜3の障害が競合して発生したとき、EU111では、より上位の障害処理論理が起動されることになる。
【0031】
これらのうち、軽度障害(レベル0)とは、キャッシュを構成するRAMデータ読み出し時の1ビットエラー等、命令の実行に影響を与えずに回復可能な障害を指す。
【0032】
重度障害(レベル1)とは、演算結果のパリティエラー等の不正や、不正演算結果の各種レジスタへの書き込み等、命令の再実行が必要な障害を指す。
【0033】
また、動作不能障害(レベル2)とは、命令の再実行が不可能な障害や、重度障害が発生した際の、回復処理が不可能な障害を指し、このレベルの障害ではプロセッサの切り離しが必要となる。さらに、スヌープ処理が継続不可能な場合(レベル3)には、他プロセッサに対して、ダーティラインの掃き出しができなくなる可能性があるので、システム停止となる。
【0034】
各ユニットは、ユニット内で検出した障害箇所から障害レベルを決定する。例えば、MU102やSU106は、L1キャッシュ105もしくはL2キャッシュ109の読み出しデータに1ビットエラーを検出すると、EU111に対して「レベル0の障害」が発生したことを通知する。またL1キャッシュ105で上記読み出しデータに2ビットエラーを検出した場合には、回復不可能なため、MU102は「レベル2の障害」が発生した事をEU111に通知するが、L2キャッシュ109で読み出しデータの2ビットエラーを検出した場合には、スヌープによるコヒーレンシのチェックができなくなるので、SU106は「レベル2の障害」ではなく「レベル3の障害」が発生したことをEU111へ通知する。
【0035】
この通知を受けたEU111は、一例として、図5のフローチャートに例示されるような以下の障害判別処理を行う。
【0036】
EU111は、障害発生を報告されると(ステップ501)、そのレベルから命令実行が継続可能かどうかを判断する(ステップ502、ステップ503)。具体的には、発生障害レベルが0であれば命令実行の継続は可能であるが(ステップ507)、障害レベルが1以上であれば、命令実行の継続は不可能と判断する。
【0037】
もし継続が不可能であった場合には、次にスヌープ処理が継続可能かどうかを判断する(ステップ504)。スヌープ処理が継続可能かどうかは、送られてくる障害レベルが2以下であるかどうかで判断できる。また、EU111では上述の図3で説明したように、障害レベルの優先度を判断し、最もレベルの高い障害のみ報告されるようになっているので、レベルの異なる複数の障害報告が同時に発生しても構わない。
【0038】
この結果、スヌープ処理が継続不可能と判断した場合には、システムダウンのシーケンスを開始するが(ステップ506)、スヌープ処理が続行可能と判断した場合には、EU111からPU110に対して、障害時のスヌープ動作に切り替えるためのスヌープ動作切り替え要求117が発行される(ステップ505)。
【0039】
これによりPU110は、プロセッサバス150からスヌープしたダーティラインの掃き出し要求やパージ要求をSU106のみに送るようになり、また、スヌープ処理要求119の発行を抑止することにより、MU102をスヌープ処理から切り離す。これは、L1キャッシュ105にはダーティラインが存在しないため、L1キャッシュ105に存在するデータを他プロセッサが必要としないからであり、また、自命令の実行がこれ以上継続されないため、L1キャッシュ105のデータには誰もアクセスしないためである。
【0040】
以上の理由から、図2に例示されるように、L1キャッシュ105をスヌープ動作から切り離し、スヌープ処理を図2の破線で示されるようにスヌープ処理実行範囲200に限定しても何ら問題は発生しない。さらに、このように動作を切り替えることにより、L1キャッシュ105が動作不可能になっても、当該L1キャッシュ105を制御するMU102に対するスヌープ処理要求119の発行を抑止し、L1キャッシュ105を切り離すことにより、スヌープ処理を続行することが可能になる。
【0041】
上述のようなPU110におけるL1キャッシュ105の切り離しの機構の一例を、図4に具体的に示す。
【0042】
スヌープ動作切り替え要求117は、要求セット117aおよび要求リセット117bからなり、要求セット117aがEU111からPU110のスヌープ処理部110Aへ発行されると、PU110はスヌープ切り替えフラグラッチ110A−1(1ビットラッチ)にスヌープ切り替えフラグ110A−4の値をセットする。このスヌープ切り替えフラグ110A−4がセットされることにより、スヌープ処理部110Aのスヌープ要求発行論理110A−3からMU102へのスヌープ処理要求119は常にANDゲート110A−2によって0値に固定されるようになり、結果的にPU110からMU102へのスヌープ処理要求はすべて抑止される事になる。この機構により、L1キャッシュの切り離しを実現している。なお、要求リセット117bにてスヌープ切り替えフラグ110A−4をリセットすることにより、このL1キャッシュ105の切り離しは解除される。
【0043】
この後、EU111は、プロセッサ内に残っている実行中の命令をすべてキャンセルするよう、キャンセル信号122をIU101へ発行し、IU101は実行中であったすべての命令をキャンセルする。その後、プロセッサ100はリセット動作を行うが、リセットを行う前に、バスからのスヌープ要求に対して再発行(リトライ)を促すための応答をするようEU111からPU110へリトライモードセット要求120が送られる。PU110は、この要求を受けてPU110内のスヌープリトライ応答フラグ121をセットする。スヌープリトライ応答フラグ121は、プロセッサ100のリセットではクリアされないので、セットされている間はリセット動作中でも、プロセッサバス150からのスヌープ要求に対して無条件にリトライ応答がなされる。他プロセッサは、障害が発生したプロセッサ100のスヌープリトライ応答フラグ121がセットされている間はプロセッサバス150に発行した要求を完了できないが、リセット動作が終わり、やがてスヌープリトライ応答フラグ121がクリアされると、プロセッサバス150に発行した要求を完了することができる。
【0044】
以上の手順により、障害を起こしたプロセッサ100は、障害が発生してからスヌープリトライ応答フラグ121がセットされるまでの間は通常のスヌープ動作を行い、プロセッサ100のリセット動作中、スヌープリトライ応答フラグ121がセットされている間はスヌープ要求に対してリトライ応答を返し、リセット動作が完了してスヌープリトライ応答フラグ121のリセットが行われた後は、また通常のスヌープ動作を行うことができる。
【0045】
プロセッサ100のリセットが完了し、また命令を実行する前には、必ずL1キャッシュ105内のデータをすべて初期化しておく必要がある。これは、MU102を切り離した後で、スヌープのリクエストをPU110からMU102に送っていないために、L1キャッシュ105内のデータがすでに他プロセッサによって更新されている可能性があるためである。
【0046】
このように本実施の形態のプロセッサおよび100およびそれらによって構成されるマルチプロセッサシステムによれば、あるプロセッサ100で障害が発生しても、障害が発生したプロセッサ100の内部のEU111において、障害のレベルが判定され、ダーティラインが存在する可能性のあるL2キャッシュ109におけるスヌープ処理の続行が可能と判断された場合には、プロセッサ100のリセット動作に関係なく、各プロセッサ100内のL2キャッシュ109のデータ間にて論理的な一意性(コヒーレンシ)を保つためのスヌープ動作を行わせて、障害のプロセッサ100のL2キャッシュ109内のダーティラインを主記憶160に反映させる、等の処理が可能となる。
【0047】
これにより、複数のプロセッサ100のL2キャッシュ109内のデータ間のコヒーレンシが損なわれていることの懸念のために、障害のプロセッサ100以外の他のプロセッサを停止させ、システムダウンに陥ることが防止される。すなわち、特定のプロセッサ100の障害のためにシステム全体を停止させることなくシステムの運用を継続することが可能になり、マルチプロセッサシステムの動作の信頼性を向上させることができる。
【0048】
また、複数のプロセッサ100のL2キャッシュ109内のデータ間のコヒーレンシの維持のために、プロセッサ100の外部に特別な制御機構やメモリ等を設ける必要がなくなり、マルチプロセッサシステムの構築におけるコスト低減が図れる。
【0049】
さらに、マルチプロセッサシステムの全体が停止することがなくなり、個々のプロセッサ100およびそれらによって構築されるマルチプロセッサシステムの稼働率が向上する。
【0050】
以上本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【0051】
たとえば、キャッシュメモリの階層は、上述の実施の形態に例示した2階層に限らず、3階層以上、あるいは単一階層でもよい。
【0052】
【発明の効果】
本発明のプロセッサによれば、ライトバック方式のキャッシュメモリを内蔵した複数のプロセッサにて構成される密結合型のマルチプロセッサシステムにおいて、プロセッサ外部に特別な機能を付加することなく低コストで、特定のプロセッサの障害によるシステムダウンを回避することができる、という効果が得られる。
【0053】
また、本発明のプロセッサによれば、外部に特別な機能を設けることなく、密結合型のマルチプロセッサシステムを構成する場合において、スヌープ処理に関係する障害波及を最小限に止めることができる、という効果が得られる。
【0054】
本発明のマルチプロセッサシステムによれば、ライトバック方式のキャッシュメモリを内蔵した複数のプロセッサにて構成される密結合型のマルチプロセッサシステムにおいて、プロセッサ外部に特別な機能を付加することなく低コストで、特定のプロセッサの障害によるシステムダウンを回避することができる、という効果が得られる。
【0055】
また、本発明のマルチプロセッサシステムによれば、プロセッサの外部に特別な機能を設けることなく、密結合型のマルチプロセッサシステムを構成する場合において、スヌープ処理に関係する障害波及を最小限に止めることができる、という効果が得られる。
【図面の簡単な説明】
【図1】本発明の一実施の形態であるマルチプロセッサシステムを構成するプロセッサの内部構成の一例を示すブロック図である。
【図2】本発明の一実施の形態であるマルチプロセッサシステムを構成するプロセッサの作用の一例を示す概念図である。
【図3】本発明の一実施の形態であるマルチプロセッサシステムを構成するプロセッサにおける障害処理ユニットの構成の一例を示す概念図である。
【図4】本発明の一実施の形態であるマルチプロセッサシステムを構成するプロセッサにおけるスヌープ処理からの切り離し機構の一例を示す概念図である。
【図5】本発明の一実施の形態であるマルチプロセッサシステムを構成するプロセッサにおける障害処理ユニットの作用の一例を示すフローチャートである。
【図6】密結合型マルチプロセッサシステムの構成を示す概念図である。
【符号の説明】
100…プロセッサ、101…命令発行/演算ユニット(IU)、102…L1キャッシュ制御ユニット(MU)(スヌープ処理論理)、103…自命令処理部、104…スヌープ処理部、105…L1キャッシュ(第1のキャッシュメモリ)、106…L2キャッシュ制御ユニット(SU)(スヌープ処理論理)、107…自命令処理部、108…スヌープ処理部、109…L2キャッシュ(第2のキャッシュメモリ)、110…バスインターフェースユニット(PU)(スヌープ処理論理)、110A…スヌープ処理部、110A−1…スヌープ切り替えフラグラッチ、110A−2…ANDゲート、110A−3…スヌープ要求発行論理、110A−4…スヌープ切り替えフラグ、110B…自命令処理部、111…障害処理ユニット(EU)、111a…ORゲート、111b…ORゲート、111c…ORゲート、111d…ORゲート、111e…ANDゲート、111f…ANDゲート、111g…ANDゲート、111i…レベル0判定出力、111j…レベル1判定出力、111k…レベル2判定出力、111l…レベル3判定出力、111m…レベル0障害処理論理、111n…レベル1障害処理論理、111p…レベル2障害処理論理、111q…レベル3障害処理論理、113…障害発生報告信号、113a〜113d…レベルライン、114…障害発生報告信号、114a〜114d…レベルライン、115…障害発生報告信号、115a〜115d…レベルライン、116…障害発生報告信号、116a〜116d…レベルライン、117…スヌープ動作切り替え要求、117a…要求セット、117b…要求リセット、118…スヌープ処理要求、119…スヌープ処理要求、120…リトライモードセット要求、121…スヌープリトライ応答フラグ、122…キャンセル信号、123…データ転送パス、124…データ転送要求信号、125…データ転送パス、126…データ転送要求信号、150…プロセッサバス、160…主記憶、200…スヌープ処理実行範囲。

Claims (3)

  1. データ処理を行う演算論理部と、前記演算論理部にて発生した主記憶に対する書き込みデータを一時的に保持するキャッシュメモリと、前記主記憶を他のプロセッサと共有して稼働する場合において各プロセッサ間の前記キャッシュメモリの内容を論理的に一致させるためのスヌープ処理を行うスヌープ処理論理と、を含むプロセッサであって、
    前記プロセッサにて障害が発生したとき、前記スヌープ処理が可能か否かを判別する障害判定論理と、
    前記プロセッサの障害発生時に前記スヌープ処理が可能な場合には、前記スヌープ処理を選択的に継続させつつ前記プロセッサのリセット動作を行う制御論理と、
    を備えたことを特徴とするプロセッサ。
  2. 請求項1記載のプロセッサにおいて、
    前記キャッシュメモリが、前記演算論理部に近く、ライトスルー方式で制御される第1のキャッシュメモリと、前記主記憶に近く、ライトバック方式で制御される第2のキャッシュメモリとで構成され、前記演算論理部が動作不能となり、前記スヌープ処理を選択的に継続させる場合には、前記第1のキャッシュメモリを前記スヌープ処理論理から切り離すことを特徴とするプロセッサ。
  3. 主記憶と、前記主記憶を共有する複数のプロセッサからなるマルチプロセッサシステムであって、個々の前記プロセッサは、請求項1または2記載のプロセッサからなることを特徴とするマルチプロセッサシステム。
JP35599698A 1998-12-15 1998-12-15 プロセッサおよびマルチプロセッサシステム Expired - Fee Related JP3676934B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP35599698A JP3676934B2 (ja) 1998-12-15 1998-12-15 プロセッサおよびマルチプロセッサシステム
US09/460,519 US6584580B1 (en) 1998-12-15 1999-12-14 Processor and multiprocessor system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP35599698A JP3676934B2 (ja) 1998-12-15 1998-12-15 プロセッサおよびマルチプロセッサシステム

Publications (2)

Publication Number Publication Date
JP2000181889A JP2000181889A (ja) 2000-06-30
JP3676934B2 true JP3676934B2 (ja) 2005-07-27

Family

ID=18446803

Family Applications (1)

Application Number Title Priority Date Filing Date
JP35599698A Expired - Fee Related JP3676934B2 (ja) 1998-12-15 1998-12-15 プロセッサおよびマルチプロセッサシステム

Country Status (2)

Country Link
US (1) US6584580B1 (ja)
JP (1) JP3676934B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4609929B2 (ja) * 2004-11-29 2011-01-12 富士通株式会社 情報処理装置、システム制御装置、システム制御方法
US7418557B2 (en) * 2004-11-30 2008-08-26 International Business Machines Corporation Managing multiprocessor operations
JP4572169B2 (ja) * 2006-01-26 2010-10-27 エヌイーシーコンピュータテクノ株式会社 マルチプロセッサシステム及びその動作方法
JP5277961B2 (ja) 2006-10-13 2013-08-28 日本電気株式会社 情報処理装置及びその故障隠蔽方法
JP5082479B2 (ja) * 2007-02-08 2012-11-28 日本電気株式会社 データ一貫性制御システム及びデータ一貫性制御方法
JP4474570B2 (ja) * 2008-01-28 2010-06-09 エヌイーシーコンピュータテクノ株式会社 キャッシュコヒーレンシ制御方法
JP2017046319A (ja) * 2015-08-28 2017-03-02 富士通株式会社 伝送装置およびリトライ方法
US10083091B1 (en) 2017-03-22 2018-09-25 International Business Machines Corporation Memory resident storage recovery during computer system failure

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5682516A (en) * 1994-03-01 1997-10-28 Intel Corporation Computer system that maintains system wide cache coherency during deferred communication transactions
US5671231A (en) * 1994-07-07 1997-09-23 Dell Usa, L.P. Method and apparatus for performing cache snoop testing on a cache system
US6631448B2 (en) * 1998-03-12 2003-10-07 Fujitsu Limited Cache coherence unit for interconnecting multiprocessor nodes having pipelined snoopy protocol
US6393582B1 (en) * 1998-12-10 2002-05-21 Compaq Computer Corporation Error self-checking and recovery using lock-step processor pair architecture

Also Published As

Publication number Publication date
JP2000181889A (ja) 2000-06-30
US6584580B1 (en) 2003-06-24

Similar Documents

Publication Publication Date Title
US5437022A (en) Storage controller having additional cache memory and a means for recovering from failure and reconfiguring a control unit thereof in response thereto
CN100375050C (zh) 高可靠性处理器的片上机制
JP2505928B2 (ja) フォ―ルト・トレラント・システムのためのチェックポイント機構
US7343515B1 (en) System and method for performing error recovery in a data processing system having multiple processing partitions
US7472236B2 (en) Managing mirrored memory transactions and error recovery
EP0355286B1 (en) Checkpoint retry mechanism
CN101539875B (zh) 纠正软错误的固件机制
JP2552651B2 (ja) 再構成可能なデュアル・プロセッサ・システム
JP5392594B2 (ja) 仮想計算機冗長化システム、コンピュータシステム、仮想計算機冗長化方法、及びプログラム
US6981079B2 (en) Critical datapath error handling in a multiprocessor architecture
JP4132322B2 (ja) 記憶制御装置およびその制御方法
JP3676934B2 (ja) プロセッサおよびマルチプロセッサシステム
JP5287974B2 (ja) 演算処理システム、再同期方法、およびファームプログラム
CN1269040C (zh) 信息处理设备
JP2000112584A (ja) 電源故障対策を備えたコンピュ―タシステム及びその動作方法
US5539875A (en) Error windowing for storage subsystem recovery
US5339407A (en) Recovery of cached data from a malfunctioning CPU
JP3180737B2 (ja) システムの冗長化方法
EP1703393B1 (en) Error notification method and apparatus for an information processing system carrying out mirror operation
JPS6119061B2 (ja)
US20060107116A1 (en) System and method for reestablishing lockstep for a processor module for which loss of lockstep is detected
JP2968484B2 (ja) マルチプロセッサ計算機及びマルチプロセッサ計算機における障害復旧方法
JP2008217811A (ja) 不揮発メモリを使用したディスク制御装置
JP3246751B2 (ja) 高信頼化コンピュータシステム及びその復旧方法並びにプロセッサボード及びその交換方法
JP3325836B2 (ja) 計算機盤

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040901

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050502

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

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

LAPS Cancellation because of no payment of annual fees