JP4576453B2 - キャッシュ制御回路、情報処理装置および切り離し方法 - Google Patents

キャッシュ制御回路、情報処理装置および切り離し方法 Download PDF

Info

Publication number
JP4576453B2
JP4576453B2 JP2008501552A JP2008501552A JP4576453B2 JP 4576453 B2 JP4576453 B2 JP 4576453B2 JP 2008501552 A JP2008501552 A JP 2008501552A JP 2008501552 A JP2008501552 A JP 2008501552A JP 4576453 B2 JP4576453 B2 JP 4576453B2
Authority
JP
Japan
Prior art keywords
cache memory
invalidation
processor
cache
processors
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
JP2008501552A
Other languages
English (en)
Other versions
JPWO2007096999A1 (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2007096999A1 publication Critical patent/JPWO2007096999A1/ja
Application granted granted Critical
Publication of JP4576453B2 publication Critical patent/JP4576453B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0891Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
    • 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/0804Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with main memory updating

Description

本発明は、キャッシュメモリに記録されたデータを用いて処理を行うプロセッサを切り離すキャッシュ制御回路、情報処理装置および切り離し方法に関するものである。
従来より、プロセッサおよびメインメモリ間で発生するデータ遅延の問題を解消するために、キャッシュメモリが利用されている。そして、このキャッシュメモリを管理するキャッシュメモリ管理装置は、例えば、ライトバック方式によって、メインメモリとキャッシュメモリとの間でコヒーレンシを維持している。
また、プロセッサを含んだシステムの再構成などによって、プロセッサを切り離す場合には、キャッシュメモリ管理装置は、プロセッサに対して切り離しを要求し、プロセッサからの応答を待ってからキャッシュメモリの無効化を行って、プロセッサを切り離している。
なお、ライトバック方式では、その性質上、キャッシュメモリのデータがプロセッサによって更新された場合に、更新されたデータが同時にメインメモリに書き戻されない。そのため、プロセッサの切り離しによるキャッシュメモリの無効化を実行する場合には、プロセッサがアクセスしていたデータの書き戻しが必要か否かを判断して、必要であれば書き戻しを行い、メインメモリとキャッシュメモリとの間でコヒーレンシを維持していた。
近年では、プロセッサの性能向上およびキャッシュメモリの記憶容量の増加に伴って、キャッシュメモリが複数のプロセッサによって共有される場合がある。このように、複数のプロセッサが実装されたシステムにおいて、任意のプロセッサを動的に切り離し、再構成しなければならないケースは多々発生し得るが、上述した従来技術では、プロセッサの切り離し処理が複雑となり、迅速にプロセッサを切り離すことができなかった。
すなわち、キャッシュメモリを複数のプロセッサが共有するシステムであっても、安全かつ迅速にプロセッサをシステムから切り離し、システムの可用性を高めることが極めて重要な課題となっている。
本発明は、上記に鑑みてなされたものであって、安全かつ迅速にプロセッサをシステムから切り離し、システムの可用性を高めることができるキャッシュ制御回路、情報処理装置および切り離し方法を提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、複数のプロセッサに共有されているキャッシュメモリに記録されたデータを用いて処理を行う複数のプロセッサの中の一部のプロセッサを切り離す制御を行うキャッシュ制御回路であって、プロセッサの切り離し要求を取得した場合に、前記キャッシュメモリに接続された全てのプロセッサを制御して前記キャッシュメモリに接続された全てのプロセッサによって新規の処理が実行されることを停止させる停止手段と、前記停止手段によって前記キャッシュメモリに接続された全てのプロセッサの処理が完了した後に、前記キャッシュメモリに記録されたデータの無効化を実行する無効化実行手段と前記無効化実行手段によって前記キャッシュメモリの無効化が完了した後に、切り離し対象となるプロセッサを切り離す切り離し実行手段と、前記無効化実行手段によって前記キャッシュメモリの無効化が完了した後に、切り離し対象となったプロセッサ以外のプロセッサにおける停止状態を解除する解除手段とを有することを特徴とする。
また、本発明は、複数のプロセッサに共有されているキャッシュメモリに記録されたデータを用いて処理を行う複数のプロセッサの中の一部のプロセッサを切り離す切り離し方法であって、プロセッサの切り離し要求を取得した場合に、前記キャッシュメモリの制御を行うためのキャッシュ制御部により前記キャッシュメモリに接続された全てのプロセッサを制御して前記キャッシュメモリに接続された全てのプロセッサによって新規の処理が実行されることを停止させる停止工程と、前記停止工程によって前記キャッシュメモリに接続された全てのプロセッサの処理が完了した後に、前記キャッシュ制御部により前記キャッシュメモリに記録されたデータの無効化を実行する無効化実行工程と前記無効化実行工程によって前記キャッシュメモリの無効化が完了した後に、切り離し対象となるプロセッサを切り離す切り離し実行工程と、前記無効化実行工程によって前記キャッシュメモリの無効化が完了した後に、切り離し対象となったプロセッサ以外のプロセッサにおける停止状態を解除する解除工程とを備えたことを特徴とする。
本発明によれば、プロセッサの切り離し要求を取得した場合に、キャッシュメモリに接続された全てのプロセッサの中で切り離し対象となるプロセッサを制御してキャッシュメモリに接続された全てのプロセッサによって新規の処理が実行されることを停止させ、キャッシュメモリに接続された全てのプロセッサの処理が完了した後に、キャッシュメモリに記録されたデータの無効化を実行して、切り離し対象となるプロセッサを切り離し、キャッシュメモリの無効化が完了した後に、切り離し対象となったプロセッサ以外のプロセッサにおける停止状態を解除するので、キャッシュメモリを複数のプロセッサが共有するシステムであっても、安全かつ迅速にプロセッサをシステムから切り離し、システムの可用性を高めることができる。
以下に、本発明にかかるキャッシュ制御回路、情報処理装置および切り離し方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
まず、従来技術による無効化処理および従来技術によるプロセッサの切り離し処理の説明を行い、従来技術による問題点を示した後に本発明の特徴について説明する。図5は、従来技術にかかる無効化処理を説明するための説明図であり、図6は、従来技術にかかるプロセッサの切り離し処理を説明するための説明図である。
図5に示すプロセッサユニット10は、プロセッサ20と、無効化要求部30と、キャッシュコントロール部40と、システム部50と、キャッシュメモリ60と、とを備えて構成される。このうち、プロセッサ20は、キャッシュメモリ60に記憶されたデータにアクセスして、所定の演算を実行し、演算結果となるデータをキャッシュメモリ60に記憶させる処理部である。ここで、キャッシュメモリ60は、プロセッサ20が用いる命令や演算対象となるデータを記憶する記憶部である。
無効化要求部30は、キャッシュコントロール部40に対してキャッシュメモリ20を無効化する旨の要求(以下、キャッシュメモリ無効化要求)を出力する処理部である。また、無効化要求部30は、入力装置を介してユーザからプロセッサ20の切り離し要求を取得した場合、あるいは動的再構成プログラムからプロセッサ20の切り離し要求を取得した場合に、プロセッサ20を切り離す旨の要求(以下、プロセッサ切り離し要求)をキャッシュコントロール部40に出力する。
更に、無効化要求部30は、プロセッサ40に発生するエラーの回数をカウントし、エラーの回数が規定値以上となった場合に、プロセッサ切り離し要求をキャッシュコントロール部40に出力する。
キャッシュコントロール部40は、無効化要求部30からキャッシュメモリ無効化要求あるいは、プロセッサ切り離し要求を取得した場合に、キャッシュメモリ60に記憶されたデータの無効化を制御する処理部である。また、このキャッシュコントロール部40は、ライトバック方式によってメインメモリ(図示しない)とキャッシュメモリ60との間でコヒーレンシを維持する。
システム部50は、キャッシュメモリ60の無効化対象となるデータをメインメモリに書き戻すか否かを判定する処理部である。このシステム部50は、キャッシュメモリ60に記憶されたデータの登録状態を示すキャッシュメモリ登録情報50aを保持し、このキャッシュメモリ登録情報50aを基にして、書き戻しが必要か否かを判定する。
続いて、図5を用いて、従来技術による無効化処理の説明を行うと、無効化要求部30は、キャッシュコントロール部40にキャッシュ無効化要求を出力し、キャッシュコントロール部40は、キャッシュ無効化要求を取得した場合に、(例えば)ブロックAを無効化する旨の情報をシステム部50に出力し、システム部50は、キャッシュメモリ登録情報50aを検索して、ブロックAに記憶されたデータを書き戻すか否かを判定し、判定結果を含んだブロックAに対する応答をキャッシュコントロール部40に出力する。
キャッシュコントロール部40は、システム部40からブロックAに対する応答を取得し、キャッシュメモリ60に記憶されたブロックAのデータを無効化する。なお、書き戻しが必要となる場合には、ブロックAに記録されたデータをメインメモリに書き戻した後に、ブロックAを無効化する。そして、キャッシュメモリ60における全てのブロックの無効化が完了した場合に、システム部50は、キャッシュメモリ60全体の無効化が終了した旨をキャッシュコントロール部40に通知する。
続いて、図6を用いて、従来技術によるプロセッサの切り離し処理の説明を行うと、無効化要求部30は、キャッシュコントロール部40にプロセッサ切り離し要求を出力し、キャッシュコントロール部40は、プロセッサ切り離し要求を取得した場合に、プロセッサ20にプロセッサ切り離し要求を出力する。
プロセッサ切り離し要求を取得したプロセッサ20は、(例えば)ブロックAを無効化する旨の情報をシステム部50に出力し、キャッシュコントロール部40は、ブロックAを無効化する旨の情報をシステム部50に出力する。システム部50は、キャッシュメモリ登録情報50aを検索して、ブロックAに記憶されたデータを書き戻すか否かを判定し、判定結果を含んだブロックAに対する応答をキャッシュコントロール部40に出力する。
キャッシュコントロール部40は、システム部40からブロックAに対する応答を取得し、キャッシュメモリ60に記憶されたブロックAのデータを無効化する。なお、書き戻しが必要となる場合には、ブロックAに記録されたデータをメインメモリに書き戻した後に、ブロックAを無効化する。そして、キャッシュメモリ60における全てのブロックの無効化が完了した場合に、システム部50は、キャッシュメモリ60全体の無効化が終了した旨をキャッシュコントロール部40に出力する。そして、キャッシュコントロール部40は、キャッシュメモリ全体の無効化が終了した旨をプロセッサ20に通知し、プロセッサ20を切り離す。
しかしながら、図6に示したように、プロセッサ20を切り離す場合には、この切り離し処理にプロセッサ20を介在させる必要があり、迅速にプロセッサ20を切り離すことができないという問題があった。また、キャッシュメモリが複数のプロセッサに共有されている場合には、プロセッサの共有状態を更に考慮して、キャッシュメモリの無効化を行う必要があり、この問題は更に深刻なものとなる。
そこで、本発明では、プロセッサ切り離し要求を取得した場合に、切り離し対象となるプロセッサの処理を停止させ(命令ユニットを停止させ)、キャッシュメモリの無効化を行うことで、上記した従来技術の問題点を解決する。図1は、本発明によるプロセッサの切り離し処理を説明するための説明図である。なお、ここでは、説明の便宜上、図5、図6で用いた構成要素によって本発明の処理を説明する。
図1に示すように、無効化要求部30は、キャッシュコントロール部40にプロセッサ切り離し要求を出力し、キャッシュコントロール部40は、プロセッサ20に対して命令ユニットの停止要求を出力する。命令ユニットの停止要求を受付けたプロセッサの命令ユニットは、新規の命令を実行することを停止し、実行中の命令を完了させる。
そして、キャッシュコントロール部40は、ブロックAを無効化する旨の情報をシステム部50に出力し、システム部50は、キャッシュメモリ登録情報50aを検索して、ブロックAに記憶されたデータを書き戻すか否かを判定し、判定結果を含んだブロックAに対する応答をキャッシュコントロール部40に出力する。
キャッシュコントロール部40は、システム部50からブロックAに対する応答を取得し、キャッシュメモリ60に記憶されたブロックAのデータを無効化する。なお、書き戻しが必要となる場合には、ブロックAに記憶されたデータをメインメモリに書き戻した後に、ブロックAを無効化する。そして、キャッシュメモリ60における全てのブロックの無効化が完了した場合に、システム部50は、キャッシュメモリ60全体の無効化が終了した旨をキャッシュコントロール部40に出力する。
このように、本発明によれば、プロセッサ20を介在させることなく、キャッシュメモリ60の無効化処理を実行し、プロセッサを切り離すので、迅速にプロセッサ20を切り離すことができる。また、プロセッサ20の新規の処理を停止させてから、キャッシュメモリ60の無効化・書き戻しを実行するので、メインメモリに対する新規のデータ要求や、データの書換え要求が発生することはなく、キャッシュメモリとメインメモリの内容が食い違うことを防止することができる。
次に、本実施例にかかるプロセッサユニットの構成について説明する。図2は、本実施例にかかるプロセッサユニットの構成を示す機能ブロック図である。同図に示すように、このプロセッサユニット100は、プロセッサ110,120と、キャッシュメモリ130と、無効化要求部140と、キャッシュコントロール部150とを備えて構成される。
このうち、プロセッサ110,120は、キャッシュメモリ130に記憶されたデータにアクセスして、所定の演算を実行し、演算結果となるデータをキャッシュメモリ130に記憶させる処理部である。なお、ここでは説明の便宜上、プロセッサ110,120のみを示すが、これに限定されるものではない。キャッシュメモリ130は、プロセッサ110,120が用いる命令や演算対象となるデータを記憶する記憶部である。
無効化要求部140は、キャッシュコントロール部150に対してキャッシュメモリ無効化要求を出力する処理部である。また、無効化要求部140は、入力装置を介してユーザからプロセッサ110あるいはプロセッサ120の切り離し要求を取得した場合、あるいは動的再構成プログラムからプロセッサ110あるいはプロセッサ120の切り離し要求を取得した場合に、プロセッサ切り離し要求をキャッシュコントロール部150に出力する。
このプロセッサ切り離し要求には、プロセッサ110を切り離す旨の要求あるいは、プロセッサ120を切り離す旨の要求あるいは、プロセッサ110,120の双方とも切り離す旨の要求のいずれかが含まれることとなる。
また、無効化要求部140は、プロセッサ110,120に発生するエラーの回数をカウントし、エラー回数が規定値以上となった場合に、エラー回数が規定値以上となったプロセッサに対するプロセッサ切り離し要求をキャッシュコントロール部150に出力する。
キャッシュコントロール部150は、無効化要求部140からキャッシュメモリ無効化要求あるいは、プロセッサ切り離し要求を取得した場合に、キャッシュメモリ130に記憶されたデータの無効化を制御する処理部である。また、このキャッシュコントロール部150は、ライトバック方式によってメインメモリとキャッシュメモリ130との間でコヒーレンシを維持する。
キャッシュコントロール部150は、無効化要求取得部160と、停止・解除要求部170と、無効化実行部180と、書き戻し判定部190と、キャッシュメモリ登録情報記憶部200とを備えて構成される。
このうち、無効化要求取得部160は、無効化要求部140からキャッシュメモリ無効化要求あるいはプロセッサ切り離し要求を取得する処理部である。また、無効化要求取得部160は、キャッシュメモリ無効化要求を取得した場合には、無効化実行部180に、キャッシュメモリ130に対する無効化を要求する。
一方、無効化要求取得部160は、無効化要求部140からプロセッサ切り離し要求を取得した場合には、取得したプロセッサ切り離し要求を停止・解除要求部170に出力するとともに、無効化実行部180に、キャッシュメモリ130に対する無効化を要求する。
停止・解除要求部170は、プロセッサ110,120の切り離しを行う処理部である。具体的に、この停止・解除要求部170は、無効化要求取得部160からプロセッサ切り離し要求を取得した場合に、プロセッサ110,120に命令ユニットの停止要求を出力してプロセッサ110,120によって新規の命令が実行されることを停止させ、実行中の命令を完了させる。
そして、停止・解除要求部170は、無効化実行部180から、キャッシュメモリ130に対する無効化が完了した旨の情報を取得した場合には、切り離し対象となるプロセッサの状態を有効から無効に変化させると共に、切り離し対象ではないプロセッサの停止状態を解除し、新規の命令の実行を許可する。
例えば、プロセッサ切り離し要求が、プロセッサ110を切り離す旨の要求である場合には、停止・解除要求部170は、無効化実行部180から、キャッシュメモリ130に対する無効化が完了した旨の情報を取得した場合に、プロセッサ110の状態を有効から無効に変化させると共に、プロセッサ120の停止状態を解除し、新規の命令の実行を許可する。
プロセッサ切り離し要求が、プロセッサ120を切り離す旨の要求である場合には、停止・解除要求部170は、無効化実行部180から、キャッシュメモリ130に対する無効化が完了した旨の情報を取得した場合に、プロセッサ120の状態を有効から無効に変化させると共に、プロセッサ110の停止状態を解除し、新規の命令の実行を許可する。
なお、プロセッサ切り離し要求が、プロセッサ110,120を切り離す旨の要求である場合には、停止・解除要求部170は、無効化実行部180から、キャッシュメモリ130に対する無効化が完了した旨の情報を取得した場合に、プロセッサ110,120の状態を有効から無効に変化させる。
無効化実行部180は、無効化要求取得部160から無効化の要求を取得した場合に、キャッシュメモリ130の各ブロックを無効化し、キャッシュメモリ130に対する無効化が全て完了した場合には、無効化が完了した旨の情報を停止・解除要求部170に出力する処理部である。
また、無効化実行部180は、キャッシュメモリ130のブロックに記録されたデータを無効化する場合には、無効化対象となるブロックの識別情報(以下、ブロック識別情報)を書き戻し判定部190に出力し、書き戻し判定部190からの応答を取得する。そして、無効化実行部180は、書き戻しが必要な場合には、無効化対象となるブロックに記憶されたデータをメインメモリに書き戻してから、データの無効化を実行する。なお、無効化実行部180は、書き戻しが必要ない場合には、無効化対象となるブロックに記憶されたデータをそのまま無効化する。
書き戻し判定部190は、無効化実行部180からブロック識別情報を取得した場合に、当該ブロック識別情報に対応するブロックの登録状態をキャッシュメモリ登録情報記録部200から検索し、ブロックに記憶されたデータの書き戻しが必要か否かを判定する処理部である。ここで、キャッシュメモリ登録情報記憶部200は、キャッシュメモリ130の各ブロックに記憶されたデータの登録情報(例えば、ライトバック実行後にデータが更新されたか否かを示す情報など)を記憶する記憶部である。
書き戻し判定部190は、書き戻しが必要であると判定した場合には、書き戻しが必要である旨の情報を無効化実行部180に出力し、書き戻しが必要でないと判定した場合には、書き戻しが必要でない旨の情報を無効化実行部180に出力する。
次に、本実施例にかかるプロセッサユニット100が行う切り離し処理について説明する。図3は、本実施例にかかるプロセッサユニット100の切り離し処理を示すフローチャートである。同図に示すように、プロセッサユニット100は、無効化要求取得部160が、無効化要求部140からプロセッサ切り離し要求を取得し(ステップS101)、停止・解除要求部170が、無効化要求取得部160からプロセッサ切り離し要求を取得して、プロセッサ110,120における命令ユニットの停止要求を出力する(ステップS102)。
続いて、無効化実行部180は、無効化要求取得部160から無効化の要求を取得し、無効化対象となるブロックを選択し(ステップS103)、書き戻し判定部190が、無効化実行部180からブロック識別情報を取得して、無効化実行部180が選択したブロックの書き戻しが必要か否かを、キャッシュメモリ登録情報記憶部200を検索して判定する(ステップS104)。
そして、無効化実行部180は、書き戻し判定部190によって書き戻しが必要であると判定された場合には(ステップS105,Yes)、メインメモリに無効化対象となるブロックに記憶されたデータを送出し、全てのブロックに対する無効化が完了したか否かを判定する(ステップS107)。一方、無効化実行部180は、書き戻し判定部190によって書き戻しが必要でないと判定された場合には(ステップS105,No)、そのままステップS107に移行する。
無効化実行部180が、全てのブロックに対する無効化が完了していないと判定した場合には(ステップS108,No)、未選択のブロックを選択して(ステップS109)、ステップS104に移行する。
一方、無効化実行部180が、全てのブロックに対する無効化が完了したと判定した場合には(ステップS108,Yes)、停止・解除要求部170は、無効化実行部180から全てのブロックに対する無効化が完了した旨の情報を取得し、切り離し対象とならないプロセッサの停止要求を解除する(ステップS110)。
このように、プロセッサユニット100は、プロセッサ切り離し要求を取得した場合に、キャッシュコントロール部150が、プロセッサ110,120に命令ユニットの停止要求を出力し、キャッシュメモリ130の無効化が完了した後に、切り離し対象以外のプロセッサに対する停止要求を解除するので、効率よくプロセッサの切り離し処理を実行することができる。
上述してきたように、本実施例にかかるプロセッサユニット100は、プロセッサ110,120(あるいはどちらか一方のプロセッサ)を切り離す場合に、無効化要求部140が、キャッシュコントロール部150にプロセッサ切り離し要求を出力し、キャッシュコントロール部150は、プロセッサ110,120に命令ユニットの停止要求を出力する。そして、キャッシュコントロール部150は、プロセッサ110,120の実行中の処理が完了した後に、キャッシュメモリ130の各ブロックの無効化を実行し、切り離し対象以外のプロセッサに対する停止要求を解除し、切り離し対象となるプロセッサの停止要求を解除しないことで、プロセッサを切り離すので、キャッシュメモリ130が複数のプロセッサ110,120に共有されている場合であっても、安全かつ迅速にプロセッサをシステムから切り離し、システムの可用性を高めることができる。
また、キャッシュメモリを共有するプロセッサが単数であったとしても、プロセッサの命令ユニットを停止させ、キャッシュメモリに記録されたデータを全て無効化することで、プロセッサを切り離すことができるので、煩雑な処理を実行することなく、迅速にプロセッサを切り離すことができる。
なお、本実施例では、同一のプロセッサユニットに備えられたプロセッサの切り離しについて説明を行ったが、異なるプロセッサユニットに備えられるプロセッサによってキャッシュメモリが共有される構成においても、同様の手法を用いてプロセッサを切りなすことができる。図4は、異なるプロセッサユニットに備えられるプロセッサによってキャッシュメモリが共有されている構成の一例を示す図である。
同図に示すように、プロセッサユニット300,400が備えるプロセッサを切り離す場合には、キャッシュコントロール部150は、プロセッサユニット300,400が備えるプロセッサに命令ユニットの停止要求を出力する。そして、キャッシュメモリ130の無効化が完了した後に、キャッシュコントロール部150は、切り離し対象以外のプロセッサに対する停止要求を解除することによって、プロセッサの切り離しを実現させる。
以上のように、本発明にかかるキャッシュ制御回路、情報処理装置および切り離し方法は、複数のプロセッサが実装されたシステムに有用であり、特に、プロセッサの切り離しを安全かつ迅速に実行する必要のある場合に適している。
図1は、本発明によるプロセッサの切り離し処理を説明するための説明図である。 図2は、本実施例にかかるプロセッサユニットの構成を示す機能ブロック図である。 図3は、本実施例にかかるプロセッサユニットの切り離し処理を示すフローチャートである。 図4は、異なるプロセッサユニットに備えられるプロセッサによってキャッシュメモリが共有されている構成の一例を示す図である。 図5は、従来技術にかかる無効化処理を説明するための説明図である。 図6は、従来技術にかかるプロセッサの切り離し処理を説明するための説明図である。
符号の説明
10,100,300,400 プロセッサユニット
20,110,120 プロセッサ
30,140 無効化要求部
40,150 キャッシュコントロール部
50 システム部
50a キャッシュメモリ登録情報
60,130 キャッシュメモリ
160 無効化要求取得部
170 停止・解除要求部
180 無効化実行部
190 書き戻し判定部
200 キャッシュメモリ登録情報記憶部

Claims (6)

  1. 複数のプロセッサに共有されているキャッシュメモリに記録されたデータを用いて処理を行う複数のプロセッサの中の一部のプロセッサを切り離す制御を行うキャッシュ制御回路であって、
    プロセッサの切り離し要求を取得した場合に、前記キャッシュメモリに接続された全てのプロセッサを制御して前記キャッシュメモリに接続された全てのプロセッサによって新規の処理が実行されることを停止させる停止手段と、
    前記停止手段によって前記キャッシュメモリに接続された全てのプロセッサの処理が完了した後に、前記キャッシュメモリに記録されたデータの無効化を実行する無効化実行手段と
    前記無効化実行手段によって前記キャッシュメモリの無効化が完了した後に、切り離し対象となるプロセッサを切り離す切り離し実行手段と、
    前記無効化実行手段によって前記キャッシュメモリの無効化が完了した後に、切り離し対象となったプロセッサ以外のプロセッサにおける停止状態を解除する解除手段と
    を有することを特徴とするキャッシュ制御回路。
  2. 前記無効化実行手段は、前記キャッシュメモリに記録されたデータのうち、メインメモリに書き戻す必要があるデータをメインメモリにライトバックし、データの無効化を実行することを特徴とする請求項1に記載のキャッシュ制御回路。
  3. 複数のプロセッサと、前記複数のプロセッサに共有されているキャッシュメモリと、前
    記キャッシュメモリの制御を行うキャッシュ制御部とを有する情報処理装置であって、
    前記キャッシュ制御部は、プロセッサの切り離し要求を取得した場合に、前記キャッシュメモリに接続された全てのプロセッサを制御して前記キャッシュメモリに接続された全てのプロセッサによって新規の処理が実行されることを停止させる停止手段と、前記停止手段によって前記キャッシュメモリに接続された全てのプロセッサの処理が完了した後に、前記キャッシュメモリに記録されたデータの無効化を実行する無効化実行手段と、前記無効化実行手段によって前記キャッシュメモリの無効化が完了した後に、切り離し対象となるプロセッサを切り離す切り離し実行手段と、前記無効化実行手段によって前記キャッシュメモリの無効化が完了した後に、切り離し対象となったプロセッサ以外のプロセッサにおける停止状態を解除する解除手段と
    を有することを特徴とする情報処理装置。
  4. 前記無効化実行手段は、前記キャッシュメモリに記録されたデータのうち、メインメモリに書き戻す必要があるデータをメインメモリにライトバックし、データの無効化を実行することを特徴とする請求項に記載の情報処理装置。
  5. 複数のプロセッサに共有されているキャッシュメモリに記録されたデータを用いて処理を行う複数のプロセッサの中の一部のプロセッサを切り離す切り離し方法であって、
    プロセッサの切り離し要求を取得した場合に、前記キャッシュメモリの制御を行うためのキャッシュ制御部により前記キャッシュメモリに接続された全てのプロセッサを制御して前記キャッシュメモリに接続された全てのプロセッサによって新規の処理が実行されることを停止させる停止工程と、
    前記停止工程によって前記キャッシュメモリに接続された全てのプロセッサの処理が完了した後に、前記キャッシュ制御部により前記キャッシュメモリに記録されたデータの無効化を実行する無効化実行工程と
    前記無効化実行工程によって前記キャッシュメモリの無効化が完了した後に、切り離し対象となるプロセッサを切り離す切り離し実行工程と、
    前記無効化実行工程によって前記キャッシュメモリの無効化が完了した後に、切り離し対象となったプロセッサ以外のプロセッサにおける停止状態を解除する解除工程と
    を備えたことを特徴とする切り離し方法。
  6. 前記無効化実行工程は、前記キャッシュメモリに記録されたデータのうち、メインメモリに書き戻す必要があるデータをメインメモリにライトバックし、データの無効化を実行することを特徴とする請求項に記載の切り離し方法。
JP2008501552A 2006-02-24 2006-02-24 キャッシュ制御回路、情報処理装置および切り離し方法 Expired - Fee Related JP4576453B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2006/303476 WO2007096999A1 (ja) 2006-02-24 2006-02-24 切り離し装置および切り離し方法

Publications (2)

Publication Number Publication Date
JPWO2007096999A1 JPWO2007096999A1 (ja) 2009-07-09
JP4576453B2 true JP4576453B2 (ja) 2010-11-10

Family

ID=38437061

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008501552A Expired - Fee Related JP4576453B2 (ja) 2006-02-24 2006-02-24 キャッシュ制御回路、情報処理装置および切り離し方法

Country Status (3)

Country Link
US (1) US8185699B2 (ja)
JP (1) JP4576453B2 (ja)
WO (1) WO2007096999A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4297969B2 (ja) * 2006-02-24 2009-07-15 富士通株式会社 記録制御装置および記録制御方法
US8671231B2 (en) * 2011-06-06 2014-03-11 International Business Machines Corporation Fast cancellation of input-output requests
WO2013084314A1 (ja) * 2011-12-07 2013-06-13 富士通株式会社 演算処理装置及び演算処理装置の制御方法
WO2013084315A1 (ja) * 2011-12-07 2013-06-13 富士通株式会社 演算処理装置、及び、演算処理装置の制御方法
JP2018163539A (ja) * 2017-03-27 2018-10-18 日本電気株式会社 自己診断方法および自己診断プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02181844A (ja) * 1989-01-06 1990-07-16 Matsushita Electric Ind Co Ltd キャッシュメモリ管理方法
JPH07175765A (ja) * 1993-10-25 1995-07-14 Mitsubishi Electric Corp 計算機の障害回復方法
JP2002229811A (ja) * 2001-02-05 2002-08-16 Nec Eng Ltd 論理分割システムの制御方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5347648A (en) * 1990-06-29 1994-09-13 Digital Equipment Corporation Ensuring write ordering under writeback cache error conditions
GB2256512B (en) * 1991-06-04 1995-03-15 Intel Corp Second level cache controller unit and system
US5812757A (en) * 1993-10-08 1998-09-22 Mitsubishi Denki Kabushiki Kaisha Processing board, a computer, and a fault recovery method for the computer
DE69616402T2 (de) * 1995-03-31 2002-07-18 Sun Microsystems Inc Schnelle Zweitor-Cachesteuerungsschaltung für Datenprozessoren in einem paketvermittelten cachekohärenten Multiprozessorsystem
US5634068A (en) * 1995-03-31 1997-05-27 Sun Microsystems, Inc. Packet switched cache coherent multiprocessor system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02181844A (ja) * 1989-01-06 1990-07-16 Matsushita Electric Ind Co Ltd キャッシュメモリ管理方法
JPH07175765A (ja) * 1993-10-25 1995-07-14 Mitsubishi Electric Corp 計算機の障害回復方法
JP2002229811A (ja) * 2001-02-05 2002-08-16 Nec Eng Ltd 論理分割システムの制御方法

Also Published As

Publication number Publication date
WO2007096999A1 (ja) 2007-08-30
US8185699B2 (en) 2012-05-22
US20080313409A1 (en) 2008-12-18
JPWO2007096999A1 (ja) 2009-07-09

Similar Documents

Publication Publication Date Title
JP4050225B2 (ja) マルチプロセッサシステムにおける推測的な格納を容易にする方法および装置
JP4050226B2 (ja) マルチプロセッサシステムにおける推測的な格納を容易にするl2ディレクトリの利用
US20110167222A1 (en) Unbounded transactional memory system and method
US8468307B2 (en) Information processing apparatus and order guarantee method
US20040015969A1 (en) Controlling snoop activities using task table in multiprocessor system
JP2020529673A (ja) 分散ストアによる高可用性データベース
EP2399198A2 (en) Atomic-operation coalescing technique in multi-chip systems
US9218288B2 (en) Monitoring a value in storage without repeated storage access
US20110320738A1 (en) Maintaining Cache Coherence In A Multi-Node, Symmetric Multiprocessing Computer
EP3350713B1 (en) Distributed cache live migration
US20110107344A1 (en) Multi-core apparatus and load balancing method thereof
EP3123351A1 (en) Method and processor for processing data
US9811404B2 (en) Information processing system and method
JP4576453B2 (ja) キャッシュ制御回路、情報処理装置および切り離し方法
US8972664B2 (en) Multilevel cache hierarchy for finding a cache line on a remote node
US20140006716A1 (en) Data control using last accessor information
KR20170041816A (ko) 이종 프로세서 시스템 내 캐시들 간에 데이터 이동
JP5213485B2 (ja) マルチプロセッサシステムにおけるデータ同期方法及びマルチプロセッサシステム
US20140297957A1 (en) Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus
US20140289481A1 (en) Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus
US20130013871A1 (en) Information processing system and data processing method
US8484422B2 (en) Maintaining data coherence by using data domains
US9436613B2 (en) Central processing unit, method for controlling central processing unit, and information processing apparatus
JP2010211506A (ja) 不均一メモリアクセス機構を備えるコンピュータ、コントローラ、及びデータ移動方法
US20140289474A1 (en) Operation processing apparatus, information processing apparatus and method of controlling information processing apparatus

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091006

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100518

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100714

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100823

R150 Certificate of patent or registration of utility model

Ref document number: 4576453

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130827

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees