JPH0728758A - ダイナミックタイムループ調停及び装置 - Google Patents

ダイナミックタイムループ調停及び装置

Info

Publication number
JPH0728758A
JPH0728758A JP5339885A JP33988593A JPH0728758A JP H0728758 A JPH0728758 A JP H0728758A JP 5339885 A JP5339885 A JP 5339885A JP 33988593 A JP33988593 A JP 33988593A JP H0728758 A JPH0728758 A JP H0728758A
Authority
JP
Japan
Prior art keywords
access
agent
shared
action
bas
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
JP5339885A
Other languages
English (en)
Inventor
E Dukes Glen
イー.デュークス グレン
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.)
NCR International Inc
NCR Voyix Corp
Original Assignee
AT&T Global Information Solutions Co
AT&T Global Information Solutions International Inc
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 AT&T Global Information Solutions Co, AT&T Global Information Solutions International Inc filed Critical AT&T Global Information Solutions Co
Publication of JPH0728758A publication Critical patent/JPH0728758A/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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access

Abstract

(57)【要約】 【目的】八つのエイジェントが共有バッファにアクセス
する際、各エイジェントに許容可能な最大のデータ潜伏
期間を与える方法及び装置を与える。 【構成】いかなるエイジェントも「餓死」させないよう
にループをタイミング化し、またループをダイナミック
に可変なものとすることにより共有バッファへのアクセ
スをしないエイジェントに対してはアクセス時間の分配
をしないことにより、データ潜伏期間を可能な限り低減
する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は多重プロセッサコンピュ
ーターシステムに関し、特に多数の他のプロセッサおよ
び当該コンピューターシステムにより共有される入力/
出力プロセッサへの又は入力/出力プロセッサからのデ
ータ転送を制御する方法及び装置に関する。
【0002】
【従来の技術】通常、多重プロセッサコンピューターは
多重の中央処理ユニット(CPU)及びダイレクトメモ
リアクセスコントローラのような一つ以上のコントロー
ラを有する。さらに、多重プロセッサコンピューターシ
ステムはそのCPU及びコントローラにより共有される
いくつかの資源(resource)または資産(assets)を有
する。システムバス、主メモリ、入力/出力チャンネル
はそのような共有資産又は資源(以下、資産という)の
例である。
【0003】共有資産は通常、二つの理由から共有され
る。その理由の一つは、データを共有するための資産を
与えるためであり、もう一つはCPU毎にそれ自身の資
産を与える代わりにCPU間でタイムシェアリングによ
りコストを低減するためである。一システム内で資産を
共有した場合に非常に普く遭遇する問題は、共有される
資産の使用をどのようにして当該共有資産にアクセスす
ることを欲するCPU及びコントローラ間でどのように
分配するかである。共有資産の無構造化分配(unconstr
ucted allocation)は通常、一プロセッサの支配を来た
し、これは当該共有資産を必要とする他のコントローラ
の障害となる。共有資産の構造割り当て(constructed
allocation)は他の競合するプロセッサ又はコントロー
ラへの障害となるような一プロセッサによる共有資産の
支配を防止する。構造化された分配方式は、調停法(ar
bitration method)と呼ばれ、よく知られており、広く
使用されている。しかし、公知の各調停法はいずれも共
有資産への、又はこれからのデータスループット(data
throughput)を低下させる何らかの形の限界を有す
る。
【0004】
【発明が解決しようとする課題】非常に簡単な調停法は
各プロセッサ及び各コントローラに固有の優先レベルを
指定することである。共有資産が利用可能であるとき、
その共有資産は資産の利用を待機しているもののうちで
最高の優先レベルを持つプロセッサ又はコントローラに
割り当てられる。この調停法に付きまとう問題は、非常
に混雑するシステムでは最低の優先レベルを持つコント
ローラは、共有資産に割り当てられた「最高優先レベル
の待ち」には決して到達しないので、「餓死」すること
である。
【0005】もう一つの簡単な調停法は、ループをタイ
ミング化する調停法(timed loop arbitration、以下、
これを「タイムループ調停法」という)で、この方法で
は各プロセッサ又はコントローラは自動的に共有資産を
必要とするか否かに拘わらず共有資産にアクセスする時
間が自動的に割り当てられる。このようにすると最悪の
「餓死」問題は解消できる。しかしこの調停法はデータ
の潜伏(data latency、以下、「データの潜伏性」とい
う)を来たすという問題を有する。すなわち、割り当て
られた期間どうしの間の時間が余りにも長すぎて、転送
を待っているデータがもはや有効でなくなることがある
のである。
【0006】公知調停法に関わる潜伏性問題に鑑みて、
本発明は任意のプロセッサ又はコントローラを餓死させ
ず、低いデータ潜伏期間を有する調停法を与えることを
課題とする。
【0007】本発明のもう一つの課題は、共有資産への
データ入力速度および共有資産からのデータ出力速度を
改善すべくダイナミックに調整しうる調停法を与えるこ
とである。
【0008】
【課題を解決するための手段】簡単に述べると、上記の
課題は本発明の一態様に基づく次の方法に達成される。
本方法は各々に異なる優先性を有する複数のエイジェン
ト間で共有する資源へのアクセスを調停する方法であ
る。本方法は、上記複数のエイジェントの第一のエイジ
ェントのみがその共有資源へのアクセスをリクエストす
るときは無制限に共有資源へのアクセスを与えるステッ
プと、第二エイジェントによる共有資源を求める未達成
のリクエストがあるときはタイマーを開始させるステッ
プと、そのタイマーが当該エイジェントに対する予定値
に達した後、前記第一エイジェントのアクセスを終了
し、前記第二エイジェントによるアクセスを行なうステ
ップとを含む。
【0009】本発明の別の実施例では、各々に異なる優
先性を有する複数のエイジェント間で共有する資源への
アクセスを調停する回路が与えられる。この回路は、前
記共有資源へのアクセスをリクエストする、該複数エイ
ジェントのうちの第一のエイジェントに共有資源へのア
クセスを与える手段と、第二エイジェントによるその共
有資源を求める未達成のリクエストがあるときはタイマ
ーを開始させるス手段と、前記タイマーがその予定値に
達した後、前記第一エイジェントのアクセスを終了し、
前記第二エイジェントによるアクセスを行なわせる手段
と、後続の優先性を有するエイジェントにアクセスを与
える手段とを含む回路を与える。
【0010】本発明の主題は特許請求の範囲に特定した
が、以下の説明及び添付の図面から本発明がよりよく理
解されよう。
【0011】
【実施例】図1にはコンピューターシステム10が示さ
れている。コンピューターシステム10はシステムバス
14に接続されたマイクロプロセッサ12を含む。シス
テムバス14はまたランダムアクセスメモリ(RAM)
を含む主メモリ16に接続され、読み取り専用メモリ
(ROM)を含むことができる。システムバス14はさ
らに、ドライブコントローラ18、フォーマッター20
及びフォーマッター22に接続される。ドライブコント
ローラ18およびフォーマッター20、22はデータド
ライブ25に接続され、このドライブは大容量格納ドラ
イブである。さらに、システムバス14はSCSIプロ
セッサ30に接続される。SCSIプロセッサ30は、
アドレス-アンド-データバス34及びコントローラバス
36によりバッファメモリ32に接続される。又SCS
Iプロセッサ30はバス24、24を介してフォーマッ
ター20、22にそれぞれ接続される。さらにSCSI
プロセッサ30はSCSI2バス40に接続される。こ
のように接続されてSCSIコントローラ30は、ディ
スク格納媒体(図示してなし)上のデータを探す機能を
与えるためのドライブコントローラ18および転送され
たデータを適切にフォーマットするためのフォーマッタ
ー20、22の一方又は両方を使って、高速SCSIバ
ス40とデータドライブ25との間でデータの送受信を
行なうことができる。上記のフォーマットはもしもオペ
レーションがディスクへの書き込みであるなら上記格納
媒体のために、またもしもオペレーションが上記大容量
格納デバイス25からの読み取りであればバッファメモ
リ32のためにエラー訂正コードオペレーション(Erro
r code operation, ECC)を使って行なうものである。
【0012】図2を参照すると、SCSIプロセッサ3
0の詳細が示してある。SCSIプロセッサ30はシス
テムバス14のアドレス線、データ線及び制御線に接続
された外部マイクロプロセッサインターフェース44を
有する。外部マイクロプロセッサインターフェース44
によって、マイクロプロセッサ12はSCSIプロセッ
サ30に割り当てられたアドレスとの間でデータの送受
信ができる。
【0013】SCSIプロセッサ30は、正規オペレー
ション中、SCSIプロセッサ30の大抵の機能を制御
するオンチッププロセッサ46を有する。オンチッププ
ロセッサ46は以下に説明するように、SCSIプロセ
ッサ30のための一般目的のプロセッサ機能を果たすと
共に、SCSIアプリケーションに対し特別の機能であ
るスクリプトプロセッサ機能をも果たす。
【0014】SCSIプロセッサ30は又、レジスター
セット48を有する。レジスターセット48はSCSI
プロセッサ30の制御に必要なオペランド及びステータ
スデータビットを保持するための多数のレジスタを有す
る。レジスターセット48はバス50により外部マイク
ロプロセッサインターフェース44に接続される。マイ
クロプロセッサ12はバス50を介して初期値をレジス
ターセット48のオペレーテイングレジスタ中にロード
することができ、又はマイクロプロセッサ12により中
断することが必要であるエラーが生じたか否かを決定す
べく、いろいろのレジスタ内のステータスビットをテス
トすることができる。レジスターセット48は又、バス
52によりオンチッププロセッサ46に接続される。バ
ス52を介してオンチッププロセッサ46はマイクロプ
ロセッサ12により格納されているオペレーテイングデ
ータ、例えば初期化の期間中に格納されたデータにアク
セスすることができ、SCSIプロセッサ30のステー
タスに随行するためのステータス情報にアクセスするこ
とができる。
【0015】名称が示すように、SCSIプロセッサ3
0はその一部としてSCSI-DMAコントローラ54
を有する。 SCSI-DMAコントローラ54はデー
タの受信及び発信するためSCSI2バス40に接続さ
れる。SCSI-DMAコントローラ54はハードウェ
アリンクレベルにおけるSCSIプロトコルのすべてを
行なうSCSI2インターフェースを有する。このSC
SI2インターフェースは、オハイオ州デイトン市のN
CRコーポレーションのマイクロエレクトロニクスディ
ヴィジョンから市販されている16ビット幅の53C8
0ような標準的セルでよい。SCSI-DMAコントロ
ーラ54はバス56によりオンチッププロせッサ46に
接続される。このインターフェース自身がSCSI2バ
ス40との間のデータ転送に関して与えることのできな
いSCSI2インターフェースの制御を、オンチッププ
ロセッサ46が与える。
【0016】SCSI-DMAコントローラ54は又、
SCSI2バス40との間のデータブロックの転送に特
に役立つDMAコントローラを含む。このDMAコント
ローラは論理上、SCSIインターフェースとバッファ
メモリインターフェース60との間に位置しているの
で、バス58が接続される。
【0017】バッファインターフェース60はバス3
4、36によりバッファメモリ32に接続される。バス
58、バッファインターフェース60及びバス34、3
6を介して、SCSI-DMAコントローラ54のDM
Aコントローラ部分はSCSI2バス40から受信した
データを一時的に格納するため、あるいはそこに格納さ
れているデータを取り出してSCSI2バス40を介し
て送信するため、バッファメモリ32にアクセスするこ
とができる。バッファインターフェース60は以下にさ
らに説明する。
【0018】SCSIプロセッサ30は少なくとも一フ
ォーマターインターフェース64を有し、本実施例では
第二のフォーマッターインターフェース66を含む。フ
ォーマターインターフェース64、66はバス24、2
6により外部フォーマッター20、22に接続される。
フォーマターインターフェース64、66はフォーマッ
ター20、22との間で多重ビット並列データを送受信
する。フォーマッター20、22の一方へデータ転送す
るため、並列データはフォーマッター20、22により
シリアルデータに変換される。この変換はそのシリアル
データ中にエラー訂正コード(ECC)ビットを追加す
る手順を含む。任意のECCビットを含んだこのシリア
ルデータはその後、大容量格納ドライブ25(図1に示
す)上に格納される。フォーマッター20、22の一方
からのデータ転送を行なうためには、任意のECCビッ
トを含んだシリアルデータのストリームがフォーマッタ
ー20、22の一方により並列データワードに変換さ
れ、このデータワードはそれぞれのフォーマッターイン
ターフェース64、66により当該バス24、26の一
方を介して受信される。もしもそのシリアルビットスト
リーム中に訂正可能なエラーワードが検出されると、フ
ォーマッター64、66それぞれに並列データストリー
ムを転送したフォーマッター22、24からエラー訂正
ワードが転送される。このようにして非常に低いエラー
確率でフォーマターインターフェース64、66により
大量のデータを送信し、または受信することができる。
【0019】フォーマターインターフェース64、66
は内部バス68、70によりバッファインターフェース
60に接続される。内部バス68、70、バッファイン
ターフェース60及びバス34、36により、SCSI
プロセッサ30及び大容量格納ドライブ25(図2に図
示してなし)から大量のデータを転送することができ
る。SCSIプロセッサ30は、SCSIプロセッサ3
0のフォーマターインターフェース64、66と大容量
格納ドライブ25との間で転送すべきデータブロックを
格納するのに使用することができる。同様にしてフォー
マターインターフェース64、66とフォーマッター2
0、22との間でECCデータを転送することができ、
又バッファインターフェース60を通して内部バス6
8、70を超えてバッファメモリ32に転送することが
できる。
【0020】バッファインターフェース60はバス58
によりSCSI-DMAコントローラ54に接続されて
いること、及び内部バス68、70によりそれぞれフォ
ーマターインターフェース64、66に接続されている
ことに加え、バス72により外部マイクロプロセッサイ
ンターフェース44に、又バス74によりオンチッププ
ロセッサ46に接続される。このことは、代表的オペレ
ーションのある時期にバッファインターフェース60を
介して行なわれるバッファメモリ32へのアクセスが、
マイクロプロセッサ12、オンチッププロセッサ46、
SCSI-DMAコントローラ54、及びフォーマッタ
ー20、22によりリクエストされることがありえるこ
とを意味する。これ以後、マイクロプロセッサ12、オ
ンチッププロセッサ46、SCSI-DMAコントロー
ラ54、及びフォーマッター20、22は集合的にエイ
ジェントと呼ぶ。さらに、バッファメモリ32が周期的
リフレッシングを必要とするRAMであれば、リフレッ
シュアクセスリクエストも生じる。バッファインターフ
ェース60は二つのカウンターを含み、その第一のカウ
ンターはRAMアドレスを通して計数を行ない、常に次
にリフレッシュすべきRAMデータエレメントのアドレ
スを保持し、第二のカウンターは予定値までの計数を行
ない、第一カウンターに示されているセルのリフレッシ
ュをするためのバッファメモリアクセスをリクエストす
る。一旦第二カウンターがこの予定値に達すると、その
リクエストが付与されるまで待機する代わりにカウンタ
ーはやり直しをする。これによって、RAMデータエレ
メントのリフレッシシング期間中に起きる当該遅延が許
容可能であってもそれが後続のRAMデータエレメント
に対する遅延中に蓄積されることは許されないので、そ
のような遅延の蓄積を防止することができるようにする
ためである。
【0021】時折、これら二つ以上のリクエストが同時
に起きることがあり、あるいは二つ以上のリクエストが
重複することがある。これはアクセスを求める一方のリ
クエストが現行アクセス(current access)の終了する
まで待機しなければならないことを意味する。これらす
べてのリクエストを管理するため、バッファインターフ
ェース60は調停器兼タイマー回路80を含むが、これ
はダイナミックタイムループ調停(dynamic timed loop
arbitration)を与えると共に任意のエイジェント1
2、20、22、46、54による占有を防止して本発
明に基づき許容可能なレベルまでデータ潜伏性を制限す
るためのタイミング化したループ調停法に従う回路であ
る。
【0022】図3を参照すると、図2に示すバッファメ
モリ32のような共有資産に、エイジェント12、2
0、22、46、及び56の一つ以上のものがアクセス
する方法が記載されている。非アクティブの開始状態1
02を仮定すると、本方法100はアクション104に
至るシーケンスを行なう。アクション104ではリセッ
トビット(RSTN)が主張されているか否か、すなわちリ
セットが命令されているか否か、を見るためのテストを
する。もしもリセットが命令されていないなら、本方法
は経路106を通ってアクション108に進み、そこで
現行バッファ調停器の状態(current bas)がスリープ
状態(SLEEP state)に設定される。このスリープ状態
はある特定数のクロックサイクルの後に同期的に覚醒さ
れる。覚醒した後、本方法はアクション104に戻り、
再びリセット状態の有無をテストする。
【0023】もしもRSTNがゼロに等しくないなら、本方
法は経路110を通ってアクション112に進む。この
アクションではクロックイベント信号(CLKEVENT)及び
クロック信号(CLK)は共に論理状態1に等しい。その
後、本方法100は経路114を通ってアクション11
6に進む。アクション116はプロセッサ新規バッファ
調停器状態(PNEWBAS)をテストし、新規バッファ調停
器状態が必要であるか否か、すなわち PNEWBAS が1に
等しくないか否か、を決定する。それから本方法100
は経路118を通ってアクション120に進み、そこで
current basにそれ自身の値が割り当てられてる。すな
わち current bas はその値を変えない。アクション1
20の後、本方法100は経路122を通ってアクショ
ン104に進み、そこで RSTN ビットがテストされる。
【0024】新規バッファ調停器状態の処理が必要であ
れば、すなわち PNEWBAS が1に等しければ、本方法1
00は経路124を通ってアクション126に進み、そ
こでcurrent bas は次のバッファ調停器状態(next ba
s)の値を与えられる。この次のバッファ調停器状態レ
ジスタは少なくとも八つの可能な状態を有する。その状
態は現行いずれのエイジェントが共有バッファメモリの
制御を有するかを示すと共に、現在リクエストを出して
いるエイジェントの一つ以上のグループから後続の制御
者を決定するために執られるべき調停方式を示す。
【0025】アクション126で current bas に与え
られる next bas は、共有バッファメモリへのアクセス
を現在リクエストしているすべてのエイジェントのうち
で最高の優先状態に対応する状態を選択することによ
り、決定される。フォーマッター1インターフェースア
クセス(F1A)は F1REQ を設定することによりリクエス
トされ、フォーマッター2インターフェースアクセス
(F2A)は F2REQ を設定することによりリクエストさ
れ、リフレッシュメモリ(RA)は RREQ を設定すること
によりリクエストされ、外部マイクロプロセッサアクセ
ス(EXMA)は EXMREQを設定することによりリクエスト
され、フォーマッター1エラーアクセス(F1EA)は F1E
REQ を設定することによりリクエストされ、フォーマッ
ター2エラーアクセス(F2EA)は F2EREQ を設定するこ
とによりリクエストされ、SCSIアクセス(SCSIA)
は SCSIREQ を設定することによりリクエストされ、オ
ンチッププロセッサアクセス(OCPA)は OCPREQ を設定
することによりリクエストされる。上記の決定がなされ
た後、 current bas に対応する論理プロセッシングが
後続の next bas 状態を決定する。アクション126か
ら、本方法100はもしもcurrent bas が F1A であれ
ば図4に分岐し、current bas が F2A であれば図5に
分岐し、 current bas が RA であれば図6に分岐し、
current bas が EXMA であれば図7に分岐し、現場が F
1EA であれば図8に分岐し、 current basが F2EA であ
れば図9に分岐し、 current bas が SCSIA であれば図
10に分岐し、 current bas が OCPA であれば図11
に分岐する。図4ないし11に示すように、一旦一つ以
上のリクエストに関してバッファ調停プロセスセッシン
グがなされると、各エイジェントの優先性は共有バッフ
ァメモリ32に現にアクセスしているエイジェントがい
ずれのエイジェントであるかに応じて変化する。
【0026】図4を参照して分岐方法200を説明す
る。分岐方法200は current basが F1A に割り当て
られた状態201を有する。この状態値は現行バッファ
調停器状態がフォーマッター1インターフェースアクセ
スであることを意味する。フォーマッター1インターフ
ェースが共有バッファメモリ32(図2参照)へのアク
セスをリクエストしている唯一のエイジェントであるか
ぎり、 current basは F1A 状態に留まり、フォーマッ
ター1インターフェースにこのバッファメモリへのアク
セスを与える。共有バッファメモリを求める葛藤が生じ
るや否や、すなわち最大の潜伏性限度(maximum latenc
y limit)を有するエイジェントが共有バッファメモリ
へのアクセスをリクエストすると、調停器兼タイマー回
路80のタイマー部分が開始される。 current bas F1
A は、最大の潜伏性限度をもちリクエストを出している
別のエイジェントに対し、現行エイジェントのフォーマ
ッター1が共有バッファメモリを放棄しなければならな
くなるまで継続することができる予定時間を有する。す
べてのエイジェントがSCSI-DMA54の様に最大
潜伏性を有する必要性があるわけではない。その理由
は、いくつかのエイジェントはその性質上、餓死しにく
いからである。さらに、フォーマッター1に与えられる
この予定時間は他のエイジェントに対して与えられる類
似の予定時間と同一である。
【0027】分岐方法200は、時折、潜伏性を制限す
るリクエストがあったため予定時間満了となってアクセ
スを終了した後、又はフォーマッター1インターフェー
スがもはや共有バッファメモリへのアクセスを必要とし
なくなったとき、状態201から経路202を通ってア
クション204に進む。アクション204では F2REQが
論理1に設定されているか否かを決定するためのテスト
がなされる。もしもF2REQ が論理1に設定されている
と、分岐方法200は経路206を通ってアクション2
08に進む。アクション208ではフォーマッター2イ
ンターフェースがアクセスをリクエストしているので、
next bas に F2A 状態が割り当てられ、 current bas
を next bas に等しく設定して図5に進む。
【0028】もしもアクション204で F2REQ が1に
設定されていないと、分岐方法200は経路を210を
通ってアクション212へ進む。アクション212では
RREQ が論理1に設定されているか否かテストをする。
もしもRREQ が論値1に設定されていると、これはフォ
ーマッター2インターフェースがアクセスをリクエスト
していることを意味するので、分岐方法200は経路2
14を通ってアクション216に進む。アクション21
6では next bas に RA 状態を与え、本方法はcurrent
bas を next bas に等しく設定して図6に進む。
【0029】もしもアクション212で RREQ が論理1
に設定されていないと、リフレッシュのリクエストがな
いので、分岐方法200は経路218を通ってアクショ
ン220に進む。アクション220では EXMAREQ が1
に設定されているかテストされる。もしも EXMAREQ が
1に設定されていると、分岐方法200は経路222を
通ってアクション224に進む。アクション224では
next bas に EXMA 状態を割当て、本方法は current b
as を next bas に等しくして図7に進む。
【0030】もしもアクション220で EXMAREQ が1
に設定されていないと、外部マイクロプロセッサによる
アクセスリクエストが無いので、分岐方法200は経路
226を通ってアクション228に進む。アクション2
28では F1EREQ が1に設定されているか否か、すなわ
ちもしもフォーマッター1のエラー訂正回路が共有バッ
ファメモリへのアクセスをリクエストしているか否か、
がテストされる。もしも F1EREQ が1に設定されている
と、すなわちフォーマッター1のエラー訂正回路がアク
セスをリクエストしていると、分岐方法200は経路2
30を通ってアクション232に進む。アクション23
2では next bas が F1EA 状態に割り当てられ、本方法
はcurrent bas を next bas に等しくして図8に進む。
【0031】もしもアクション228で F1EREQ が1に
設定されていないと、フォーマッター1のエラー訂正回
路は共有バッファメモリへのアクセスをリクエストして
いないので、分岐方法200は経路234を通ってアク
ション236に進む。
【0032】アクション236では F2EREQ が1に設定
されているか否か、すなわちフォーマッター2のエラー
訂正回路が共有がバッファメモリへのアクセスをリクエ
ストしているか否か、の決定をするためのテストがなさ
れる。もしも F2EREQ が1に設定されていると、すなわ
ちフォーマッター2のエラー訂正回路がアクセスをリク
エストしていると、分岐方法200は経路238を通っ
てアクション240に進む。アクション240では nex
t bas を F2EA に割り当て、本分岐方法は current bas
を next bas に等しくして図9に進む。
【0033】もしもアクション236で F2EREQ が1に
設定されていないと、フォーマッター2のエラー訂正回
路は共有バッファメモリへのアクセスをリクエストして
いないので、分岐方法200は経路242を通ってアク
ション244に進む。
【0034】アクション244では SCSIREQ が1に設
定されているか、すなわちSCSI-DMA部分が共有
バッファメモリにアクセスをリクエストしているか、が
決定される。もしも SCSIREQ が1に設定されている
と、すなわちSCSI-DMA部分がアクセスをリクエ
ストしていると、分岐方法200は経路246を通って
アクション248に進む。アクション248では next
bas が SCSIA 状態に割り当てられ、方法は current ba
s を next bas に等しくして図10に進む。
【0035】もしもアクション244で SCSIREQ が1
に設定されていないと、SCSI-DMA部分は共有バ
ッファメモリへのアクセスをリクエストしていないの
で、分岐方法200は経路250を通ってアクション2
52に進む。
【0036】アクション252では OCPREQ が1に設定
されているか否か、すなわちオンチッププロセッサが共
有バッファメモリへのアクセスをリクエストしているか
否か、の決定をするためのテストがなされる。もしも O
CPREQ が1に設定されていると、すなわちオンチッププ
ロセッサがアクセスをリクエストしていると、分岐方法
200は経路254を通ってアクション256に進む。
アクション256ではnext bas が OCPA 状態に割り当
てられ、 current bas を next bas に等しくして図1
1に進む。
【0037】もしもアクション252でOCPREQ が1に
設定されていないと、オンチッププロセッサは共有バッ
ファメモリへのアクセスをリクエストしていないので、
分岐方法200は経路258を通ってアクション260
に進む。
【0038】アクション260では F1REQ が1に設定
されているか否か決定するためのテストがされる。もし
もそれが1に設定がされていると、分岐方法200は経
路262を通ってアクション264に進み、フォーマッ
ター1インターフェースがアクセスをリクエストしてい
るので next bas が F1A 状態に割り当てられる。これ
は分岐方法200の初めの状態に等価の状態であるの
で、現行ダイナミックループはここで終了され、本方法
は current bas を next bas に等しくして図3のアク
ション104に進む。
【0039】もしもアクション260で F1REQ が1に
設定されていないと、分岐方法200は経路262を通
ってアクション264に進む。アクション264では n
ext bas が、係属中のアクセスリクエストがないスリー
プ状態に割り当てられ、現行ダイナミックループは終了
され、本方法は current bas を next bas に等しくし
て図3のアクション104に進む。
【0040】図5、6、7、8、9、10、及び11は
それぞれ current bas を F2A 、RA、EXMA、 F1EA、 F2
EA、 SCSIA、および OCPA 状態にしたときの分岐方法で
ある。図5、6、7、8、9、10、及び11は図4に
非常に類似しているので、当業者は別の説明なしでこれ
らの図面および図面が示す本分岐方法を理解できよう。
【0041】
【効果】以上に説明したように本発明は資産を共有する
エイジェントが行なうその共有資産へのアクセスをダイ
ナミックに調停することにより、データ潜伏期間を低く
することができる。翻って、本発明は共有資産の利用に
当たり、いずれのエイジェントも餓死させることなく共
有資産を利用させることができる。
【図面の簡単な説明】
【図1】本発明に基づく回路を含むコンピューターシス
テムのブロック線図である。
【図2】本発明に基づき、バッファメモリ等の共有資産
へのアクセスを制御するためのデジタル集積回路のブロ
ック線図である。
【図3】本発明に基づき共有資産へのアクセスを制御す
る方法を例示する流れ図である。
【図4】共有資産へのアクセスをリクエストする多数の
エイジェント間の調停を行なうための流れ図の一部であ
る。
【図5】共有資産へのアクセスをリクエストする多数の
エイジェント間の調停を行なうための流れ図の他の一部
である。
【図6】共有資産へのアクセスをリクエストする多数の
エイジェント間の調停を行なうための流れ図の他の一部
である。
【図7】共有資産へのアクセスをリクエストする多数の
エイジェント間の調停を行なうための流れ図の他の一部
である。
【図8】共有資産へのアクセスをリクエストする多数の
エイジェント間の調停を行なうための流れ図の他の一部
である。
【図9】共有資産へのアクセスをリクエストする多数の
エイジェント間の調停を行なうための流れ図の他の一部
である。
【図10】共有資産へのアクセスをリクエストする多数
のエイジェント間の調停を行なうための流れ図の他の一
部である。
【図11】共有資産へのアクセスをリクエストする多数
のエイジェント間の調停を行なうための流れ図の他の一
部である。
【図12】共有資産へのアクセスをリクエストする多数
のエイジェント間の調停を行なうための流れ図の他の一
部である。
【符号の説明】
10 コンピューターシステム 14 システムバス 24 バス 26 バス 34 アドレス-アンド-データバス 36 コントローラバス
─────────────────────────────────────────────────────
【手続補正書】
【提出日】平成6年6月21日
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】図12
【補正方法】削除

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】各々に異なる優先性を有する複数のエイジ
    ェント間で共有する資源へのアクセスを調停する方法で
    あって、 該複数のエイジェントの第一のエイジェントのみが該共
    有資源へのアクセスをリクエストするときは無制限に該
    共有資源へのアクセスを与えるステップと、 第二エイジェントによる該共有資源を求める未達成のリ
    クエストがあるときはタイマーを開始させるステップ
    と、 該タイマーが予定値に達した後、該第一エイジェントの
    該アクセスを終了し、該第二エイジェントによるアクセ
    スを行なうステップとを含むことを特徴とする調停方
    法。
  2. 【請求項2】各々に異なる優先性を有する複数のエイジ
    ェント間で共有する資源へのアクセスを調停する装置で
    あって、 該共有資源へのアクセスをリクエストする、該複数エイ
    ジェントのうちの第一のエイジェントに該共有資源への
    アクセスを与える手段と、 タイマーと、 予定時間的期間を表わす予定値を格納する手段と、 第二エイジェントによる該共有資源を求める未達成のリ
    クエストがあるときは該タイマーを開始させる手段とを
    含み、 該タイマーが該予定値に達した後、該第一エイジェント
    の該アクセスを終了し、該第二エイジェントによるアク
    セスを行なわせるようにしたことを特徴とする調停装
    置。
JP5339885A 1992-12-23 1993-12-07 ダイナミックタイムループ調停及び装置 Pending JPH0728758A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/995,731 US5301332A (en) 1992-12-23 1992-12-23 Method and apparatus for a dynamic, timed-loop arbitration
US995731 1992-12-23

Publications (1)

Publication Number Publication Date
JPH0728758A true JPH0728758A (ja) 1995-01-31

Family

ID=25542149

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5339885A Pending JPH0728758A (ja) 1992-12-23 1993-12-07 ダイナミックタイムループ調停及び装置

Country Status (2)

Country Link
US (1) US5301332A (ja)
JP (1) JPH0728758A (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5506968A (en) * 1992-12-28 1996-04-09 At&T Global Information Solutions Company Terminating access of an agent to a shared resource when a timer, started after a low latency agent requests access, reaches a predetermined value
US5613076A (en) * 1994-11-30 1997-03-18 Unisys Corporation System and method for providing uniform access to a SCSI bus by altering the arbitration phase associated with the SCSI bus
US6178475B1 (en) * 1994-12-19 2001-01-23 Advanced Micro Devices Inc. Multimedia system employing timers to properly allocate bus access
US5948094A (en) * 1995-09-29 1999-09-07 Intel Corporation Method and apparatus for executing multiple transactions within a single arbitration cycle
US6798420B1 (en) 1998-11-09 2004-09-28 Broadcom Corporation Video and graphics system with a single-port RAM
ATE267439T1 (de) * 1998-11-09 2004-06-15 Broadcom Corp Anzeigesystem zur mischung von graphischen daten und videodaten
US6636222B1 (en) * 1999-11-09 2003-10-21 Broadcom Corporation Video and graphics system with an MPEG video decoder for concurrent multi-row decoding
US7982740B2 (en) 1998-11-09 2011-07-19 Broadcom Corporation Low resolution graphics mode support using window descriptors
US6768774B1 (en) * 1998-11-09 2004-07-27 Broadcom Corporation Video and graphics system with video scaling
US7446774B1 (en) 1998-11-09 2008-11-04 Broadcom Corporation Video and graphics system with an integrated system bridge controller
US6853385B1 (en) * 1999-11-09 2005-02-08 Broadcom Corporation Video, audio and graphics decode, composite and display system
US6661422B1 (en) * 1998-11-09 2003-12-09 Broadcom Corporation Video and graphics system with MPEG specific data transfer commands
US6573905B1 (en) 1999-11-09 2003-06-03 Broadcom Corporation Video and graphics system with parallel processing of graphics windows
JP3615409B2 (ja) * 1999-01-29 2005-02-02 沖電気工業株式会社 パケット通信装置
US6975324B1 (en) 1999-11-09 2005-12-13 Broadcom Corporation Video and graphics system with a video transport processor
GB2356325B (en) * 1999-11-11 2003-01-08 Motorola Israel Ltd Optimized random access scheme for a shared resource
US8063916B2 (en) * 2003-10-22 2011-11-22 Broadcom Corporation Graphics layer reduction for video composition

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4400771A (en) * 1975-12-04 1983-08-23 Tokyo Shibaura Electric Co., Ltd. Multi-processor system with programmable memory-access priority control
US4257095A (en) * 1978-06-30 1981-03-17 Intel Corporation System bus arbitration, circuitry and methodology
US4237534A (en) * 1978-11-13 1980-12-02 Motorola, Inc. Bus arbiter
US4449183A (en) * 1979-07-09 1984-05-15 Digital Equipment Corporation Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US4814974A (en) * 1982-07-02 1989-03-21 American Telephone And Telegraph Company, At&T Bell Laboratories Programmable memory-based arbitration system for implementing fixed and flexible priority arrangements
US4597054A (en) * 1982-12-02 1986-06-24 Ncr Corporation Arbiter circuit and method
US4787033A (en) * 1983-09-22 1988-11-22 Digital Equipment Corporation Arbitration mechanism for assigning control of a communications path in a digital computer system
US4719569A (en) * 1985-10-11 1988-01-12 Sun Microsystems, Inc. Arbitrator for allocating access to data processing resources
US4831523A (en) * 1986-10-31 1989-05-16 Bull Hn Information Systems Inc. Multiple DMA controller chip sequencer
US4858116A (en) * 1987-05-01 1989-08-15 Digital Equipment Corporation Method and apparatus for managing multiple lock indicators in a multiprocessor computer system
US4991084A (en) * 1988-02-05 1991-02-05 International Business Machines Corporation N×M round robin order arbitrating switching matrix system
US5193193A (en) * 1988-09-14 1993-03-09 Silicon Graphics, Inc. Bus control system for arbitrating requests with predetermined on/off time limitations

Also Published As

Publication number Publication date
US5301332A (en) 1994-04-05

Similar Documents

Publication Publication Date Title
JP3699833B2 (ja) メモリアーキテクチャーのための優先符号化及び復号化
US4449183A (en) Arbitration scheme for a multiported shared functional device for use in multiprocessing systems
US6026464A (en) Memory control system and method utilizing distributed memory controllers for multibank memory
US5805927A (en) Direct memory access channel architecture and method for reception of network information
US5301283A (en) Dynamic arbitration for system bus control in multiprocessor data processing system
US4937734A (en) High speed bus with virtual memory data transfer and rerun cycle capability
US6701405B1 (en) DMA handshake protocol
US5682551A (en) System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto
JPH0728758A (ja) ダイナミックタイムループ調停及び装置
US6519666B1 (en) Arbitration scheme for optimal performance
JPH071495B2 (ja) データ処理システム
US5506968A (en) Terminating access of an agent to a shared resource when a timer, started after a low latency agent requests access, reaches a predetermined value
JPS61109164A (ja) バス制御方法
JP2004531830A (ja) キャッシュメモリバーストサイクル中にバスアービトレーションを制御するためのシステム及び方法
GB2228349A (en) Data transfer bus with virtual memory
US4896266A (en) Bus activity sequence controller
KR100708096B1 (ko) 버스 시스템 및 그 실행 순서 조정방법
US5649209A (en) Bus coupling information processing system for multiple access to system bus
JP4531223B2 (ja) 集合的メモリを共有する複数のプロセッサを備えたデータ処理装置
US5933616A (en) Multiple bus system bus arbitration according to type of transaction requested and the availability status of the data buffer between the buses
US6826644B1 (en) Peripheral component interconnect arbiter implementation with dynamic priority scheme
JP2591502B2 (ja) 情報処理システムおよびそのバス調停方式
JP2854474B2 (ja) バス使用要求調停装置
JPH0689259A (ja) 分散プログラム方式優先順位アービトレーション方法およびシステム
EP0969384A2 (en) Method and apparatus for processing information, and providing medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040720

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041020

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041029

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050120

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20041227

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051013