JP2001142844A - ライブロック防止方式 - Google Patents

ライブロック防止方式

Info

Publication number
JP2001142844A
JP2001142844A JP32104599A JP32104599A JP2001142844A JP 2001142844 A JP2001142844 A JP 2001142844A JP 32104599 A JP32104599 A JP 32104599A JP 32104599 A JP32104599 A JP 32104599A JP 2001142844 A JP2001142844 A JP 2001142844A
Authority
JP
Japan
Prior art keywords
request
normal
bus converter
identifier
urgent
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP32104599A
Other languages
English (en)
Inventor
Kazuto Oguchi
和人 小口
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 Computertechno Ltd
Original Assignee
NEC Computertechno 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 NEC Computertechno Ltd filed Critical NEC Computertechno Ltd
Priority to JP32104599A priority Critical patent/JP2001142844A/ja
Priority to US09/710,620 priority patent/US6625678B1/en
Publication of JP2001142844A publication Critical patent/JP2001142844A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/18Handling requests for interconnection or transfer for access to memory bus based on priority control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/368Handling requests for interconnection or transfer for access to common bus or bus system with decentralised access control

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)

Abstract

(57)【要約】 【課題】リトライされたリクエストをたとえゆっくりで
もよいから、1個1個公平かつ確実に処理する。 【解決手段】上位層のバスコンバータ1−0は、ノーマ
ルリクエストを受信したときにノーマルレスポンスバッ
ファが一杯であればノーマルリクエストをリトライレス
ポンスに変換して返却し、緊急リクエストを受信したと
きに緊急リクエストに対するノーマルレスポンスを返却
する。下位層のバスコンバータ3−0〜3−Bは、ノー
マルリクエストを発行するとともに、リトライレスポン
スを受信したときにリトライレスポンスを緊急リクエス
トに変換して再発行する。中間層のバスコンバータ2−
2〜2−0は、複数の緊急リクエストが競合したときに
緊急リクエスト調停部により調停を行って勝者の緊急リ
クエストを上位層のバスコンバータにそのまま転送し、
敗者の緊急リクエストをノーマルリクエストに変換して
上位層のバスコンバータ1−0に転送する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はライブロック防止方
式に関し、特に複数のバスコンバータが階層的に接続さ
れ、リクエストをリトライする情報処理装置におけるラ
イブロック防止方式に関する。
【0002】
【従来の技術】たとえば、PCI(Periphera
l Component Interconnect)
バス仕様には、「先行するレスポンスなしのライトリク
エストを、後続のノーマルレスポンスが追い抜いてはい
けない」というオーダリング規定がある。このオーダリ
ング規定を守るために、ノーマルレスポンスは、先行す
るライトリクエストを追い越すことができない。
【0003】複数のバスコンバータが階層的に接続され
た情報処理装置では、バスコンバータ内のノーマルリク
エストバッファまたはノーマルレスポンスバッファが一
杯になったケースで、オーダリング規定に起因するデッ
ドロックが発生する可能性がある。このようなデッドロ
ックを発生させないために、従来の技術では、バスコン
バータ内のノーマルレスポンスバッファが一杯である場
合には、リクエストをリトライレスポンスに変換してリ
クエスト発行元に返却するようにしていた。
【0004】しかし、デッドロックを発生させないため
にリクエストをリトライレスポンスに変換してリクエス
ト発行元に返却するようにした場合、リトライ化された
リクエストのリトライ条件が何度も成立し、そのトラン
ザクションが長時間あるいは永遠に処理されずに待たさ
れるライブロックが発生する可能性があった。
【0005】
【発明が解決しようとする課題】上述した従来の技術で
は、デッドロックを発生させないためにリクエストをリ
トライレスポンスに変換してリクエスト発行元に返却す
るようにした情報処理装置において、リトライ化された
リクエストのリトライ条件が何度も成立し、そのトラン
ザクションが長時間あるいは永遠に処理されずに待たさ
れるライブロックが発生すると、リクエスト発行元がリ
トライカウントオーバフローを検出して情報処理装置が
障害になってしまうという問題点があった。
【0006】本発明の目的は、リトライされたリクエス
トをたとえゆっくりでもよいから1個1個公平かつ確実
に処理するようにして、情報処理装置の障害を未然に防
止するようにしたライブロック防止方式を提供すること
にある。
【0007】なお、特開平11−73397号公報に
は、ライブロックが発生した場合でも、レジスタの値を
更新する順番が飛ばされたときに、優先順位パターンと
1ループの中で発生するリクエストの数とが不一致とな
ることを検出してライブロックを回避するようにした技
術が開示されているが、この技術はラウンドロビン調停
回路に適用されるものであり、本発明のように複数のバ
スコンバータが階層的に接続された情報処理装置に適用
されるものではない。
【0008】また、特開平11−143824号公報に
は、トランザクションが一時中断し、バスがアイドル状
態になると、その時点で全てのバス・エージェントのバ
スリクエストに対して調停を行い、次のバス・マスタを
決定するようにしてライブロックの可能性をなくすよう
にした技術が開示されているが、この技術は局所的なバ
スの調停のためのものであり、本発明のように複数のバ
スコンバータが階層的に接続された情報処理装置に適用
できるものではない。
【0009】
【課題を解決するための手段】本発明のライブロック防
止方式は、複数のバスコンバータが階層的に接続された
情報処理装置において、ノーマルリクエストを受信した
バスコンバータでノーマルレスポンスバッファが一杯で
あれば該ノーマルリクエストをリトライレスポンスに変
換し予約レスポンスエントリを介してリクエスト発行元
のバスコンバータに返却する手段と、リクエスト発行元
のバスコンバータでリトライレスポンスに基づいて緊急
なサービスを要求する緊急リクエストを再発行する手段
と、リクエストの経路に置かれたバスコンバータで複数
の緊急リクエストが競合したときに緊急リクエストの調
停を行い、勝者の緊急リクエストをそのまま転送し、敗
者の緊急リクエストをノーマルリクエストとして転送す
る手段とを有することを特徴とする。
【0010】また、本発明のライブロック防止方式は、
少なくとも上位層のバスコンバータ,中間層のバスコン
バータ,および下位層のバスコンバータが階層的に接続
された情報処理装置において、ノーマルリクエストを受
信したときにノーマルレスポンスバッファが一杯であれ
ば該ノーマルリクエストをリトライレスポンスに変換し
て返却し、緊急リクエストを受信したときに該緊急リク
エストに対するノーマルレスポンスを返却する上位層の
バスコンバータと、ノーマルリクエストを発行するとと
もに、リトライレスポンスを受信したときに該リトライ
レスポンスを緊急リクエストに変換して再発行する下位
層のバスコンバータと、複数の緊急リクエストが競合し
たときに緊急リクエスト調停部により調停を行って勝者
の緊急リクエストを上位層のバスコンバータに転送する
とともに敗者の緊急リクエストをノーマルリクエストに
変換して上位層のバスコンバータに転送する中間層のバ
スコンバータとを有することを特徴とする。
【0011】さらに、本発明のライブロック防止方式
は、少なくとも上位層のバスコンバータ,中間層のバス
コンバータ,および下位層のバスコンバータが階層的に
接続された情報処理装置において、ノーマルリクエスト
バッファ,ノーマルレスポンスバッファ,予約レスポン
スエントリ,およびリトライレスポンスバッファを含
み、ノーマルリクエストを前記ノーマルリクエストバッ
ファに受信したときに前記ノーマルレスポンスバッファ
が一杯であれば該ノーマルリクエストをリトライレスポ
ンスに変換して前記リトライレスポンスバッファを介し
て返却し、緊急リクエストを前記ノーマルリクエストバ
ッファに受信したときに該緊急リクエストに対するノー
マルレスポンスを前記予約レスポンスエントリを介して
返却する上位層のバスコンバータと、ノーマルリクエス
トバッファ,ノーマルレスポンスバッファ,およびリト
ライレスポンスバッファを含み、前記ノーマルリクエス
トバッファを介してノーマルリクエストを発行するとと
もにノーマルレスポンスを前記ノーマルレスポンスバッ
ファに受信し、リトライレスポンスを前記リトライレス
ポンスバッファに受信したときに該リトライレスポンス
を緊急リクエストに変換し前記ノーマルリクエストバッ
ファを介して再発行する下位層のバスコンバータと、複
数のノーマルリクエストバッファ,ノーマルレスポンス
バッファ,リトライレスポンスバッファ,および緊急リ
クエスト調停部を含み、複数の緊急リクエストを前記複
数のノーマルリクエストバッファに受信して競合が生じ
たときに前記緊急リクエスト調停部により調停を行って
勝者の緊急リクエストを転送するとともに敗者の緊急リ
クエストをノーマルリクエストに変換して転送する中間
層のバスコンバータとを有することを特徴とする。
【0012】
【発明の実施の形態】以下、本発明の実施の形態につい
て図面を参照して詳細に説明する。
【0013】図1は、本発明の一実施の形態に係るライ
ブロック防止方式が適用される情報処理装置の全体構成
を示すブロック図である。この情報処理装置は、データ
を格納するメモリMと、メモリMに接続されリクエスト
を転送するバスコンバータ(以下、上位層のバスコンバ
ータという)1―0と、上位層のバスコンバータ1―0
に接続されリクエストを転送する3つのバスコンバータ
(以下、中間層のバスコンバータという)2―2,2―
1および2―0と、中間層のバスコンバータ2―2に接
続されリクエストを発行する4つのバスコンバータ(以
下、下位層のバスコンバータという)3―0,3―1,
3―2および3―3と、中間層のバスコンバータ2―1
に接続されリクエストを発行する4つのバスコンバータ
(以下、下位層のバスコンバータという)3―4,3―
5,3―6および3―7と、中間層のバスコンバータ2
―0に接続されリクエストを発行する4つのバスコンバ
ータ(以下、下位層のバスコンバータという)3―8,
3―9,3―Aおよび3―Bとから構成されている。
【0014】図2を参照すると、上位層のバスコンバー
タ1−0は、ノーマルリクエストバッファ101と、ノ
ーマルレスポンスバッファ102と、予約レスポンスエ
ントリ(Reserved Response Entr
y)103と、リトライレスポンスバッファ104と、
コネクタ105とを含んで構成されている。上位層のバ
スコンバータ1―0は、中間層のバスコンバータ2―
2,2−1および2−0から転送されてきたノーマルリ
クエストに対するノーマルレスポンスを返却するための
ノーマルレスポンスバッファ102が一杯(ビジー)の
場合、そのリクエストをリトライレスポンスに変換しリ
トライレスポンスバッファ104を介してリクエスト発
行元の下位層のバスコンバータ3−0〜3−Bに返却す
る。このとき、リクエストをデッドロックさせないた
め、ノーマルレスポンス経路とリトライレスポン経路と
は別となっていて、ビジー管理単位も別である。ノーマ
ルレスポンスおよびリトライレスポンスは、リクエスト
に添付されたリクエスト発行元の下位層のバスコンバー
タ3−0〜3−Bのバスコンバータ識別子(以下、リク
エスト識別子と略記する)をそのまま持ちまわる。
【0015】図3を参照すると、中間層のバスコンバー
タ2−2,2−1および2−0は、接続される下位層の
バスコンバータの数(図示は4つ)のノーマルリクエス
トバッファ201と、ノーマルレスポンスバッファ20
2と、リトライレスポンスバッファ203と、セレクタ
204と、コネクタ205と、緊急リクエスト調停部
(Urgent Request Arbitrato
r)206と、仕掛中フラグレジスタ207と、リクエ
スト識別子レジスタ208と、勝者識別子レジスタ20
9と、優先ポインタレジスタ210とを含んで構成され
ている。
【0016】図4を参照すると、下位層のバスコンバー
タ3−0〜3−Bは、ノーマルリクエストバッファ30
1と、ノーマルレスポンスバッファ302と、リトライ
レスポンスバッファ303とを含んで構成されている。
下位層のバスコンバータ3―0〜3―Bが発行するリク
エストには、リクエストを特定するリクエスト識別子が
添付されている。また、下位層のバスコンバータ3―0
〜3−Bは、リトライレスポンスをリトライレスポンス
バッファ303に受信すると、そのリトライレスポンス
を緊急リクエスト(Urgent Request)に変
換してノーマルリクエストバッファ301を介して再発
行する。ここで、緊急リクエストとは、ノーマルリクエ
ストのオリジナルのリクエスト情報(アドレス,コマン
ド,データ)に加え、緊急にサービスが必要であること
(ノーマルレスポンスの返却が必要であること)を示す
フラグを添付したリクエストである。
【0017】図5は、仕掛中フラグレジスタ207の内
容を、中間層のバスコンバータ2−2の場合を例にとっ
て示す図である。仕掛中フラグレジスタ207は、緊急
リクエストを緊急リクエストあるいはノーマルリクエス
トとして上位層のバスコンバータ1―0に転送したとき
に仕掛かり中であることを示すフラグ(以下、仕掛中フ
ラグという)を格納するレジスタである。図5では、仕
掛中フラグレジスタ207は、4ビットのレジスタであ
り、各ビットが中間層のバスコンバータ2−2に接続さ
れた下位層のバスコンバータ3―0,3−1,3−2お
よび3−3にそれぞれ対応する仕掛中フラグSSF
3―0,SSF3―1,SSF3―2およびSSF
3―3となっている。仕掛中フラグSSF3―0,SS
3―1,SSF ―2およびSSF3―3のセット条
件は、下位層のバスコンバータ3―0,3−1,3−2
および3−3が発行する緊急リクエストを中間層のバス
コンバータ2―2が受信し、それを緊急リクエストある
いはノーマルリクエストとして転送したときである。仕
掛中フラグSSF3―0,SSF3―1,SSF3―2
およびSSF3―3のリセット条件は、セット時に出し
たリクエストのノーマルレスポンスを受信したとき(リ
クエスト識別子で識別する)である。一方、セット時に
出したリクエストのリトライレスポンスを受信しても仕
掛中フラグはリセットされない。なお、中間層のバスコ
ンバータ2―1は仕掛中フラグSSF3―4〜SSF
3―7、中間層のバスコンバータ2―0は仕掛中フラグ
SSF3―8〜SSF3―B、上位層のバスコンバータ
1―0は仕掛中フラグSSF2―0〜SSF 2―2を持
つ。ただし、図2に示した上位層のバスコンバータ1―
0には、仕掛中フラグレジスタ207の図示は省略され
ている。
【0018】図6は、リクエスト識別子レジスタ208
の内容を、中間層のバスコンバータ2−2の場合を例に
とって示す図である。リクエスト識別子レジスタ208
は、下位層のバスコンバータ3―0,3―1,3―2お
よび3―3にそれぞれ対応する4つのレジスタで構成さ
れている。各レジスタは9ビットのレジスタであり、最
上位1ビットに有効ビット(Valid Bit)が、
下位8ビットにリクエスト識別子が格納される。リクエ
スト識別子レジスタ208の各レジスタに格納されたリ
クエスト識別子は、仕掛中フラグレジスタ207の仕掛
中フラグSSFのリセット時に、リセットする仕掛中フ
ラグSSFを特定するために使用される。リクエスト識
別子レジスタ208の各レジスタの有効ビットのセット
条件は、下位層のバスコンバータ3―0,3−1,3−
2および3―3が発行する緊急リクエストを中間層のバ
スコンバータ2―2が受信し、それを緊急リクエストま
たはノーマルリクエストとして転送したときである。リ
クエスト識別子レジスタ208の各レジスタの有効ビッ
トのリセット条件は、中間層のバスコンバータ2―2が
上位層のバスコンバータ1―0からリクエスト識別子レ
ジスタ208の各レジスタに格納されたリクエスト識別
子と一致するノーマルレスポンスまたはリトライレスポ
ンスを受信したときである。なお、中間層のバスコンバ
ータ2―1および2―0ならびに上位層のバスコンバー
タ1―0にも同じ機能を持つレジスタがある。ただし、
図2に示した上位層のバスコンバータ1―0には、リク
エスト識別子レジスタ208の図示は省略されている。
【0019】図7は、勝者識別子レジスタ209の内容
を、中間層のバスコンバータ2−2の場合を例にとって
示す図である。勝者識別子レジスタ209は、4ビット
のレジスタであり、最上位1ビットに有効ビットを、下
位3ビットに緊急リクエスト調停部206で勝者(Wi
nner)となった緊急リクエストのリクエスト識別子
を勝者識別子として格納する。中間層のバスコンバータ
2−2は、勝者識別子レジスタ209の有効ビットが有
効、かつ勝者識別子と緊急リクエストのリクエスト識別
子とが一致している場合には、そのまま緊急リクエスト
として転送する。また、中間層のバスコンバータ2−2
は、勝者識別子レジスタ209の有効ビットが有効、か
つ勝者識別子と緊急リクエストのリクエスト識別子とが
一致してない場合には、緊急リクエストが仕掛かり中で
あるため、下位層のバスコンバータ3―0,3―1,3
―2および3―3から受信した緊急リクエストをそのま
ま緊急リクエストとして上位層のバスコンバータ1−0
に転送することができないので、ノーマルリクエストに
変換して上位層のバスコンバータ1―0に転送する。勝
者識別子レジスタ209の有効ビットのセット条件は、
勝者の緊急リクエストを上位層のバスコンバータ1―0
に転送するときである。また、勝者識別子レジスタ20
9の有効ビットのリセット条件は、勝者識別子レジスタ
209の勝者識別子と上位層のバスコンバータ1―0か
ら戻って来たノーマルレスポンスのリクエスト識別子と
が一致したときである。なお、中間層のバスコンバータ
2―1および2―0ならびに上位層のバスコンバータ1
―0にも同じ機能を持つレジスタがある。ただし、図2
に示した上位層のバスコンバータ1―0には、勝者識別
子レジスタ209の図示は省略されている。
【0020】図8は、優先ポインタレジスタ210の内
容を、中間層のバスコンバータ2―2の場合を例にとっ
て示す図である。優先ポインタレジスタ210は、4ビ
ットのレジスタであり、緊急リクエストの調停において
勝者となったリクエスト識別子が優先ポインタとして格
納される。優先ポインタレジスタ210の優先ポインタ
は、緊急リクエストの転送時にカウントアップされる。
なお、中間層のバスコンバータ2―1および2―0なら
びに上位層のバスコンバータ1―0にも同じ機能を持つ
レジスタがある。ただし、図2に示した上位層のバスコ
ンバータ1―0には、優先ポインタレジスタ210の図
示は省略されている。
【0021】図9は、緊急リクエスト調停部206での
勝者を決定する調停論理を、中間層のバスコンバータ2
―2の場合を例にとって示す図である。緊急リクエスト
調停部206は、下位層のバスコンバータ3―0〜3―
3のうちのいずれかから緊急リクエストを受信すると、
仕掛中フラグSSF3―0〜SSF3―3が有効な下位
層のバスコンバータからの緊急リクエストとの調停を行
う。緊急リクエスト調停部206の入力は、受信した緊
急リクエストのリクエスト識別子と有効である仕掛中フ
ラグに対応する下位層のバスコンバータのバスコンバー
タ識別子とである。ただし、仕掛中フラグSSF3―0
〜SSF3―3を有効にセットした緊急リクエストは、
中間層のバスコンバータ2―2が保持しているとは限ら
ない。上位層のバスコンバータ1―0でリトライレスポ
ンになり、リクエスト発行元の下位層のバスコンバータ
3―0〜3―3に返却されているかもしれないからであ
る。したがって、調停対象となっている緊急リクエスト
は、対応する仕掛中フラグSSF3―0〜SSF3―3
を有効にセットし、再発行される緊急リクエストとの調
停を行うことになる。なお、中間層のバスコンバータ2
―1および2―0ならびに上位層のバスコンバータ1―
0にも同じ機能を持つ緊急リクエスト調停部206があ
る。ただし、図2に示した上位層のバスコンバータ1―
0には、緊急リクエスト調停部206の図示は省略され
ている。
【0022】図10は、勝者識別子レジスタ209の有
効ビットの状態,仕掛中フラグSSF 3―0〜SSF
3−3の状態,リクエスト識別子との比較結果,および
中間層のバスコンバータ2―2の動作の関係を示す図で
ある。
【0023】次に、このように構成された本実施の形態
に係るライブロック防止方式の動作について詳細に説明
する。ここでは、バスコンバータ3−0からノーマルリ
クエストが発行される場合を例にとって説明する。
【0024】下位層のバスコンバータ3―0がノーマル
リクエストバッファ301を介してノーマルリクエスト
を発行する。
【0025】中間層のバスコンバータ2―1は、ノーマ
ルリクエストを下位層のバスコンバータ3―0に対応す
るノーマルリクエストバッファ201に受信すると、緊
急リクエスト調停部206での調停対象が緊急リクエス
トであることから(図10参照)、ノーマルリクエスト
をそのままセレクタ204を介して上位層のバスコンバ
ータ1―0に転送する。このとき、緊急リクエスト調停
部206は、勝者識別子レジスタ209の有効ビットを
セットしない。
【0026】上位層のバスコンバータ1−0は、ノーマ
ルリクエストをノーマルリクエストバッファ101に受
信すると、ノーマルレスポンスバッファ102が一杯で
なければ、ノーマルリクエストをメモリMに転送する。
【0027】一方、ノーマルレスポンスバッファ102
が一杯であれば、上位層のバスコンバータ1−0は、デ
ッドロックが発生しないように、ノーマルリクエストを
リトライレスポンスに変換してリトライレスポンスバッ
ファ104を介して中間層のバスコンバータ2―1に返
却する。
【0028】中間層のバスコンバータ2―1は、リトラ
イレスポンスをリトライレスポンスバッファ203に受
信すると、リトライレスポンスをコネクタ205を介し
て下位層のバスコンバータ3―0に転送する。このと
き、緊急リクエスト調停部206は、勝者識別子レジス
タ209の有効ビットをリセットしない。
【0029】下位層のバスコンバータ3−0は、リトラ
イレスポンスをリトライレスポンスバッファ303に受
信すると、リトライレスポンスをリトライレスポンスバ
ッファ303から取り出し緊急リクエストに変換してノ
ーマルリクエストバッファ301を介して再発行する。
【0030】中間層のバスコンバータ2−1は、下位層
のバスコンバータ3―0から緊急リクエストを受信する
と、緊急リクエスト調停部206により、緊急リクエス
トの調停を行い、緊急リクエストの中から1つだけ勝者
を決め、勝者の緊急リクエストを上位層のバスコンバー
タ1−0に転送する。また、中間層のバスコンバータ2
−1は、調停で敗者(loser)となった緊急リクエ
ストをノーマルリクエストに変換し、上位層のバスコン
バータ1−0に転送する。このとき、緊急リクエスト調
停部206は、次の調停に備え、優先的に勝者となる下
位層のバスコンバータ3−0〜3−3を変更するため、
優先ポインタレジスタ210の優先ポインタを0〜3の
間でサイクリックにカウントアップする。
【0031】詳しくは、中間層のバスコンバータ2−1
は、緊急リクエスト調停部206により、勝者識別子レ
ジスタ209の有効ビットが無効で、仕掛中フラグSS
3― 〜SSF3−3が全て無効ならば、受信した緊
急リクエストを勝者とし、緊急リクエストをそのまま上
位層のバスコンバータ1−0に転送する(図10参
照)。このとき、緊急リクエスト調停部206は、勝者
識別子レジスタ209に勝者の緊急リクエストのリクエ
スト識別子を勝者識別子として格納するとともに、対応
する有効ビットを有効にセットする。
【0032】また、中間層のバスコンバータ2−2は、
勝者識別子レジスタ209の有効ビットが無効で、かつ
仕掛中フラグSSF3―0〜SSF3−3のいずれかが
有効”1”で、受信した緊急リクエストのリクエスト識
別子と緊急リクエスト調停部206が出力した識別子と
が一致した場合は、緊急リクエストを勝者として上位層
のバスコンバータ1―0に転送する。しかし、中間層の
バスコンバータ2−2は、受信した緊急リクエストのリ
クエスト識別子と緊急リクエスト調停部206が出力す
る識別子とが不一致の場合は緊急リクエストを敗者と
し、緊急リクエストをノーマルリクエストに変換し、上
位層のバスコンバータ1―0に転送する。このとき、緊
急リクエスト調停部206は、勝者識別子レジスタ20
9の有効ビットを無効のままとする。
【0033】たとえば、中間層のバスコンバータ2−1
は、優先ポインタレジスタ210の優先ポインタが3
(ID=3)、仕掛中フラグSSF3―3が有効、その
他の仕掛中フラグSSF3―2,SSF3―1,および
SSF3―0が無効であれば、図9に示した調停論理に
従い緊急リクエスト調停部206がID=3を出力する
ので、下位層のバスコンバータ3―3から発行された緊
急リクエストを勝者として上位層のバスコンバータ1―
0に転送する。また、中間層のバスコンバータ2−1
は、下位層のバスコンバータ3―0から発行された緊急
リクエストが敗者となるので、緊急リクエストをノーマ
ルリクエストに変換し、上位層のバスコンバータ1―0
に転送する。
【0034】さらに、中間層のバスコンバータ2−2
は、勝者識別子レジスタ209の有効ビットが有効で、
受信した緊急リクエストのリクエスト識別子と勝者識別
子レジスタ209の勝者識別子とが一致した場合、受信
した緊急リクエストを勝者として上位層のバスコンバー
タ1―0に転送する。しかし、中間層のバスコンバータ
2−2は、受信した緊急リクエストのリクエスト識別子
と緊急リクエスト調停部206が出力する識別子とが不
一致の場合は緊急リクエストを敗者とし、緊急リクエス
トをノーマルリクエストに変換し、上位層のバスコンバ
ータ1―0に転送する。このとき、緊急リクエスト調停
部206は、勝者識別子レジスタ209の有効ビットを
無効のままとする。
【0035】次に、本実施の形態に係るライブロック防
止方式におけるリクエストの流れを、図11に示すフロ
ー図を参照しながら説明する。ここでは、バスコンバー
タ3−4からノーマルリクエストNQが発行され、バ
スコンバータ3−7からノーマルリクエストNQが発
行される場合を例にとって説明する。
【0036】下位層のバスコンバータ3―4がノーマル
リクエストNQを発行すると、中間層のバスコンバー
タ2―1は、ノーマルリクエストNQを上位層のバス
コンバータ1―0に転送する。
【0037】上位層のバスコンバータ1―0は、ノーマ
ルリクエストNQを受信したときに、ノーマルレスポ
ンスバッファ102が一杯であるとすると、ノーマルリ
クエストNQをリトライレスポンRPに変換して中
間層のバスコンバータ2―1に返却する。
【0038】中間層のバスコンバータ2―1は、リトラ
イレスポンRPを受信すると、リトライレスポンRP
をリクエスト発行元である下位層のバスコンバータ3
―4に返却する。
【0039】下位層のバスコンバータ3−4は、リトラ
イレスポンRPを受信する。
【0040】また、下位層のバスコンバータ3―7がノ
ーマルリクエストNQを発行すると、中間層のバスコ
ンバータ2―1は、ノーマルリクエストNQを上位層
のバスコンバータ1―0に転送する。
【0041】上位層のバスコンバータ1―0は、ノーマ
ルリクエストNQを受信したときに、ノーマルレスポ
ンスバッファ102が一杯であるとすると、ノーマルリ
クエストNQをリトライレスポンRPに変換して中
間層のバスコンバータ2―1に返却する。
【0042】中間層のバスコンバータ2―1は、リトラ
イレスポンRPを受信すると、リトライレスポンRP
をリクエスト発行元である下位層のバスコンバータ3
―7に返却する。
【0043】下位層のバスコンバータ3−7は、リトラ
イレスポンRPを受信する。
【0044】次に、下位層のバスコンバータ3―4は、
リトライレスポンRPを緊急リクエストUQに変換
して緊急リクエストUQを再発行する。
【0045】また、下位層のバスコンバータ3―7は、
リトライレスポンRPを受信すると、リトライレスポ
ンRPを緊急リクエストUQに変換して緊急リクエ
ストUQを再発行する。
【0046】中間層のバスコンバータ2―1は、緊急リ
クエストUQを受信すると、緊急リクエスト調停部2
06により、勝者識別子レジスタ209の勝者識別子の
有効ビットが無効で、かつ仕掛中フラグSSF3−4
SSF3−7が全て無効であるので、緊急リクエストU
を勝者とし、緊急リクエストUQをそのまま上位
層のバスコンバータ1―0に転送する(図10参照)。
このとき、緊急リクエスト調停部206は、緊急リクエ
ストUQのリクエスト識別子(ID=4)を勝者識別
子として勝者識別子レジスタ209に格納し、勝者識別
子レジスタ209の有効ビットを有効にセットする。ま
た、緊急リクエスト調停部206は、仕掛中フラグレジ
スタ207の仕掛中フラグSSF3―4も有効にセット
する。
【0047】また、中間層のバスコンバータ2―1は、
緊急リクエストUQを受信すると、勝者識別子レジス
タ209の有効ビットが有効で、かつ仕掛中フラグSS
3− が有効である(緊急リクエストUQが仕掛か
り中である)ので(図10参照)、緊急リクエスト調停
部206の出力がID=4となり、緊急リクエストUQ
のリクエスト識別子ID=7と異なるので、緊急リク
エストUQを敗者と決定し、緊急リクエストUQ
ノーマルリクエストNQに変換して上位層のバスコン
バータ1―0に転送する。このとき、緊急リクエスト調
停部206は、勝者識別子レジスタ209の勝者識別子
(ID=4)を変更しない。また、緊急リクエスト調停
部206は、仕掛中フラグレジスタ207の仕掛中フラ
グSSF ―7を有効にセットする。
【0048】上位層のバスコンバータ1―0は、緊急リ
クエストUQを受信すると、緊急リクエストUQ
ノーマルレスポンスNPを予約レスポンスエントリ1
03を介して中間層のバスコンバータ2―1に返却す
る。
【0049】また、上位層のバスコンバータ1―0は、
ノーマルリクエストNQを受信したときに、ノーマル
レスポンスバッファ102が一杯であるとすると、再
度、ノーマルリクエストNQをリトライレスポンRP
に変換して中間層のバスコンバータ2―1に返却す
る。
【0050】中間層のバスコンバータ2―1は、ノーマ
ルレスポンスNPをノーマルレスポンスバッファ20
2に受信すると、下位層のバスコンバータ3―4に転送
する。このとき、緊急リクエスト調停部206は、ノー
マルレスポンスNPを受信したので、勝者識別子レジ
スタ209の有効ビットを無効にリセットするととも
に、仕掛中フラグレジスタ207の仕掛中フラグSSF
3―4を無効にリセットする。
【0051】また、中間層のバスコンバータ2―1は、
リトライレスポンRPを受信すると、下位層のバスコ
ンバータ3―7に転送する。このとき、緊急リクエスト
調停部206は、リトライレスポンRPを受信したの
で、仕掛中フラグレジスタ207の仕掛中フラグSSF
3―7は有効のままとする。
【0052】下位層のバスコンバータ3―4は、ノーマ
ルレスポンスNPを受信すると、その時点で処理を完
了する。
【0053】一方、下位層のバスコンバータ3―7は、
リトライレスポンRPを受信すると、リトライレスポ
ンRPを緊急リクエストUQに変換して再発行す
る。
【0054】中間層のバスコンバータ2―1は、緊急リ
クエストUQを受信すると、緊急リクエスト調停部2
06により、勝者識別子レジスタ209の有効ビットが
無効(仕掛かり中の緊急リクエストはなく)、かつ仕掛
中フラグSSF3―7が有効、それ以外の仕掛中フラグ
SSF3―4,SSF3−5およびSSF3−6が無効
なので、緊急リクエストUQを調停の勝者とし、緊急
リクエストUQをそのまま上位層のバスコンバータ1
―0に転送する。このとき、緊急リクエスト調停部20
6は、緊急リクエストUQのリクエスト識別子(ID
=3)を勝者識別子として勝者識別子レジスタ209に
格納し、勝者識別子レジスタ209の有効ビットを有効
にセットする。また、緊急リクエスト調停部206は、
仕掛中フラグレジスタ207の仕掛中フラグSSF
3―7を有効のままとする。
【0055】上位層のバスコンバータ1―0は、緊急リ
クエストUQを受信すると、緊急リクエストUQ
対するノーマルレスポンスNPを中間層のバスコンバ
ータ2―1に返却する。
【0056】中間層のバスコンバータ2―1は、ノーマ
ルレスポンスNPを受信すると、下位層のバスコンバ
ータ3―7に転送する。このとき、緊急リクエスト調停
部206は、勝者識別子レジスタ209の有効ビットを
無効にリセットする。また、緊急リクエスト調停部20
6は、仕掛中フラグレジスタ207の仕掛中フラグSS
3―7を無効にリセットする。
【0057】下位層のバスコンバータ3―7は、ノーマ
ルレスポンスNPを受信すると、その時点で処理を完
了する。
【0058】なお、上記実施の形態では、本発明のライ
ブロック防止方式が適用される情報処理装置が上位層,
中間層,および下位層の3階層からなるバスコンバータ
を備える場合を例にとって説明したが、バスコンバータ
が2階層または4階層以上である場合でも、本発明が同
様に適用できることはもちろんである。また、上位層の
バスコンバータを1台、中間層のバスコンバータを3
台、下位層のバスコンバータを12台としたが、各階層
のバスコンバータの台数を任意とした場合にも、本発明
が同様に適用できることはもちろんである。
【0059】
【発明の効果】本発明によれば、複数のバスコンバータ
が階層的に接続され、リクエストをリトライする情報処
理装置で、リトライになったリクエストが、情報処理装
置内で公平に一定時間でサービスされるので、あるリク
エストが無限にリトライ、あるいは、非常に長い間リト
ライされたことによるライブロックの発生を未然に防止
する効果がある。
【図面の簡単な説明】
【図1】本発明の一実施の形態に係るライブロック防止
方式が適用される情報処理装置の全体構成を示すブロッ
ク図である。
【図2】図1中の上位層のバスコンバータのより詳細な
構成を示すブロック図である。
【図3】図1中の中間層のバスコンバータのより詳細な
構成を示すブロック図である。
【図4】図1中の下位層のバスコンバータのより詳細な
構成を示すブロック図である。
【図5】図3中の仕掛中フラグレジスタの内容を例示す
る図である。
【図6】図3中のリクエスト識別子レジスタの内容を例
示する図である。
【図7】図3中の勝者識別子レジスタの内容を例示する
図である。
【図8】図3中の優先ポインタレジスタの内容を例示す
る図である。
【図9】図3中の緊急リクエスト調停部における調停論
理の一例を示す図である。
【図10】勝者識別子レジスタの有効ビットの状態,仕
掛中フラグの状態,リクエスト識別子との比較結果,お
よび中間層のバスコンバータの動作の関係を示す図であ
る。
【図11】本実施の形態に係るライブロック防止方式に
おけるリクエストの流れを示すフロー図である。
【符号の説明】
1―0 上位層のバスコンバータ 2−0〜2−2 中間層のバスコンバータ 3−0〜3−B 下位層のバスコンバータ 101 ノーマルリクエストバッファ 102 ノーマルレスポンスバッファ 103 予約レスポンスエントリ 104 リトライレスポンスバッファ 105 コネクタ 201 ノーマルリクエストバッファ 202 ノーマルレスポンスバッファ 203 リトライレスポンスバッファ 204 セレクタ 205 コネクタ 206 緊急リクエスト調停部 207 仕掛中フラグレジスタ 208 リクエスト識別子レジスタ 209 勝者識別子レジスタ 210 優先ポインタレジスタ 301 ノーマルリクエストバッファ 302 ノーマルレスポンスバッファ 303 リトライレスポンスバッファ

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】複数のバスコンバータが階層的に接続され
    た情報処理装置において、ノーマルリクエストを受信し
    たバスコンバータでノーマルレスポンスバッファが一杯
    であれば該ノーマルリクエストをリトライレスポンスに
    変換し予約レスポンスエントリを介してリクエスト発行
    元のバスコンバータに返却する手段と、リクエスト発行
    元のバスコンバータでリトライレスポンスに基づいて緊
    急なサービスを要求する緊急リクエストを再発行する手
    段と、リクエストの経路に置かれたバスコンバータで複
    数の緊急リクエストが競合したときに緊急リクエストの
    調停を行い、勝者の緊急リクエストをそのまま転送し、
    敗者の緊急リクエストをノーマルリクエストとして転送
    する手段とを有することを特徴とするライブロック防止
    方式。
  2. 【請求項2】少なくとも上位層のバスコンバータ,中間
    層のバスコンバータ,および下位層のバスコンバータが
    階層的に接続された情報処理装置において、ノーマルリ
    クエストを受信したときにノーマルレスポンスバッファ
    が一杯であれば該ノーマルリクエストをリトライレスポ
    ンスに変換して返却し、緊急リクエストを受信したとき
    に該緊急リクエストに対するノーマルレスポンスを返却
    する上位層のバスコンバータと、ノーマルリクエストを
    発行するとともに、リトライレスポンスを受信したとき
    に該リトライレスポンスを緊急リクエストに変換して再
    発行する下位層のバスコンバータと、複数の緊急リクエ
    ストが競合したときに緊急リクエスト調停部により調停
    を行って勝者の緊急リクエストを上位層のバスコンバー
    タに転送するとともに敗者の緊急リクエストをノーマル
    リクエストに変換して上位層のバスコンバータに転送す
    る中間層のバスコンバータとを有することを特徴とする
    ライブロック防止方式。
  3. 【請求項3】少なくとも上位層のバスコンバータ,中間
    層のバスコンバータ,および下位層のバスコンバータが
    階層的に接続された情報処理装置において、ノーマルリ
    クエストバッファ,ノーマルレスポンスバッファ,予約
    レスポンスエントリ,およびリトライレスポンスバッフ
    ァを含み、ノーマルリクエストを前記ノーマルリクエス
    トバッファに受信したときに前記ノーマルレスポンスバ
    ッファが一杯であれば該ノーマルリクエストをリトライ
    レスポンスに変換して前記リトライレスポンスバッファ
    を介して返却し、緊急リクエストを前記ノーマルリクエ
    ストバッファに受信したときに該緊急リクエストに対す
    るノーマルレスポンスを前記予約レスポンスエントリを
    介して返却する上位層のバスコンバータと、ノーマルリ
    クエストバッファ,ノーマルレスポンスバッファ,およ
    びリトライレスポンスバッファを含み、前記ノーマルリ
    クエストバッファを介してノーマルリクエストを発行す
    るとともにノーマルレスポンスを前記ノーマルレスポン
    スバッファに受信し、リトライレスポンスを前記リトラ
    イレスポンスバッファに受信したときに該リトライレス
    ポンスを緊急リクエストに変換し前記ノーマルリクエス
    トバッファを介して再発行する下位層のバスコンバータ
    と、複数のノーマルリクエストバッファ,ノーマルレス
    ポンスバッファ,リトライレスポンスバッファ,および
    緊急リクエスト調停部を含み、複数の緊急リクエストを
    前記複数のノーマルリクエストバッファに受信して競合
    が生じたときに前記緊急リクエスト調停部により調停を
    行って勝者の緊急リクエストをそのまま転送するととも
    に敗者の緊急リクエストをノーマルリクエストに変換し
    て転送する中間層のバスコンバータとを有することを特
    徴とするライブロック防止方式。
  4. 【請求項4】前記中間層のバスコンバータが、緊急リク
    エストを緊急リクエストあるいはノーマルリクエストと
    して転送したときに仕掛かり中であることを示す仕掛中
    フラグを格納する仕掛中フラグレジスタと、リクエスト
    識別子および該リクエスト識別子が有効であることを示
    す有効ビットを格納するリクエスト識別子レジスタと、
    前記緊急リクエスト調停部で勝者となった緊急リクエス
    トのリクエスト識別子である勝者識別子および該勝者識
    別子が有効であることを示す有効ビットを格納する勝者
    識別子レジスタと、緊急リクエストを転送するときに勝
    者の緊急リクエストを決定するための優先ポインタを格
    納する優先ポインタレジスタとを含む請求項3記載のラ
    イブロック防止方式。
  5. 【請求項5】前記緊急リクエスト調停部が、前記優先ポ
    インタレジスタの優先ポインタおよび前記仕掛中フラグ
    レジスタの仕掛中フラグに基づいて勝者の緊急リクエス
    トを決定する請求項4記載のライブロック防止方式。
  6. 【請求項6】前記中間層のバスコンバータが、前記勝者
    識別子の有効ビットが無効の場合に前記仕掛中フラグレ
    ジスタの仕掛中フラグが全て無効であれば緊急リクエス
    トを転送するとともに前記勝者識別子の有効ビットを有
    効にセットし、前記勝者識別子の有効ビットが無効の場
    合に前記仕掛中フラグレジスタの仕掛中フラグのいずれ
    かが有効であればリクエスト識別子が前記緊急リクエス
    ト調停部の出力と一致したときに緊急リクエストを転送
    するとともに前記勝者識別子の有効ビットを有効にセッ
    トし、前記勝者識別子の有効ビットが無効の場合に前記
    仕掛中フラグレジスタの仕掛中フラグのいずれかが有効
    であればリクエスト識別子が前記緊急リクエスト調停部
    の出力と不一致のときにノーマルリクエストを転送する
    とともに前記勝者識別子の有効ビットを有効にセット
    し、前記勝者識別子の有効ビットが有効の場合にリクエ
    スト識別子が前記緊急リクエスト調停部の出力と一致し
    たときに緊急リクエストを転送し、前記勝者識別子の有
    効ビットが有効の場合にリクエスト識別子が前記緊急リ
    クエスト調停部の出力と不一致のときにノーマルリクエ
    ストを転送する請求項5記載のライブロック防止方式。
JP32104599A 1999-11-11 1999-11-11 ライブロック防止方式 Pending JP2001142844A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP32104599A JP2001142844A (ja) 1999-11-11 1999-11-11 ライブロック防止方式
US09/710,620 US6625678B1 (en) 1999-11-11 2000-11-09 Livelock avoidance method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP32104599A JP2001142844A (ja) 1999-11-11 1999-11-11 ライブロック防止方式

Publications (1)

Publication Number Publication Date
JP2001142844A true JP2001142844A (ja) 2001-05-25

Family

ID=18128197

Family Applications (1)

Application Number Title Priority Date Filing Date
JP32104599A Pending JP2001142844A (ja) 1999-11-11 1999-11-11 ライブロック防止方式

Country Status (2)

Country Link
US (1) US6625678B1 (ja)
JP (1) JP2001142844A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356620B2 (en) * 2003-06-10 2008-04-08 Altera Corporation Apparatus and methods for communicating with programmable logic devices
US7308510B2 (en) * 2003-05-07 2007-12-11 Intel Corporation Method and apparatus for avoiding live-lock in a multinode system
CN1300703C (zh) * 2003-11-05 2007-02-14 松下电器产业株式会社 调节电路及其具有它的功能处理电路
JP2013206247A (ja) * 2012-03-29 2013-10-07 Fujitsu Ltd システム制御装置、情報処理装置及びシステム制御装置の制御方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5146596A (en) * 1990-01-29 1992-09-08 Unisys Corporation Multiprocessor multifunction arbitration system with two levels of bus access including priority and normal requests
JPH06161951A (ja) 1992-11-18 1994-06-10 Oki Electric Ind Co Ltd バス制御方式
CA2140685A1 (en) * 1994-01-28 1995-07-29 Randy M. Bonella Bus master arbitration circuitry having improved prioritization
JPH08221357A (ja) 1995-02-10 1996-08-30 Hitachi Ltd 複数のバスを備えるコンピュータシステム、バス接続装置およびバス制御方法
US5706446A (en) * 1995-05-18 1998-01-06 Unisys Corporation Arbitration system for bus requestors with deadlock prevention
US5933616A (en) * 1995-12-11 1999-08-03 Dell Usa, L.P. Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses
JP3614281B2 (ja) 1997-08-29 2005-01-26 富士通株式会社 調停回路
JPH1188464A (ja) 1997-09-04 1999-03-30 Fujitsu Ltd データ転送装置およびデータ転送方法
JPH11143824A (ja) 1997-11-11 1999-05-28 Nec Corp バス・アービトレーション方式
JP2938040B1 (ja) 1998-06-16 1999-08-23 四国日本電気ソフトウェア株式会社 Pci/pciブリッジ回路
US6272580B1 (en) * 1999-03-16 2001-08-07 Compaq Computer Corp. Apparatus and method for dynamically elevating a lower level bus master to an upper level bus master within a multi-level arbitration system

Also Published As

Publication number Publication date
US6625678B1 (en) 2003-09-23

Similar Documents

Publication Publication Date Title
EP0450233B1 (en) Bus access for digital computer system
US5379434A (en) Apparatus and method for managing interrupts in a multiprocessor system
JP2539021B2 (ja) 保留バスに割り込み要求を送る割り込み要求発生ノ―ド
JPH0587855B2 (ja)
JPH0418340B2 (ja)
JPH0642236B2 (ja) コマンダノードからのインターロック読み取りコマンドメッセージをレスポンダノードで実行する装置
US4417303A (en) Multi-processor data communication bus structure
EP0329776A1 (en) Method and apparatus for interconnecting busses in a multibus computer system
JPH02500784A (ja) 保留バスにおいて割り込み要求メッセージを処理するノード
EP0358725B1 (en) Apparatus and method for servicing interrupts utilizing a pended bus
JPH056223B2 (ja)
EP0384621B1 (en) Data transfer operations between two asynchronous buses
JPS60144850A (ja) デジタルコンピユ−タシステムにおける通信路の制御を解放するためのリトライ機構
US5680554A (en) Method and apparatus for arbitrating among processors for access to a common bus
EP1187029B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
CA1143854A (en) Apparatus for interconnecting the units of a data processing system
JP2001142844A (ja) ライブロック防止方式
US20060041705A1 (en) System and method for arbitration between shared peripheral core devices in system on chip architectures
JPH02226356A (ja) マルチバス多重プロセッサシステムのブロッキングを解除する方法
US5175832A (en) Modular memory employing varying number of imput shift register stages
JPH0689257A (ja) バスブリッジの調停装置
JPH09269927A (ja) バスアクセス方法、バス、並びにバス接続システム
JP3415474B2 (ja) バスブリッジ調停方式
JPH11203253A (ja) 共有資源排他アクセス制御方式
JPH06243093A (ja) バス制御システム