JPH0652096A - データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置 - Google Patents
データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置Info
- Publication number
- JPH0652096A JPH0652096A JP5065996A JP6599693A JPH0652096A JP H0652096 A JPH0652096 A JP H0652096A JP 5065996 A JP5065996 A JP 5065996A JP 6599693 A JP6599693 A JP 6599693A JP H0652096 A JPH0652096 A JP H0652096A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- master
- bus master
- arbiter
- request
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
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)【要約】 (修正有)
【目的】 データ処理システムで複数のバス・マスター
が公平にアクセスできる方法を提供する。 【構成】 アービタ14を用いバス仲裁プロトコルを実
行するデータ処理システム10は、複数のバスマスタ1
2,16を有する。アービタ14は、リクエスト・バス
・マスタからのバスリクエストを検出し、バス許可で応
答し、リクエストバスマスタに対し、アービタがリクエ
ストバスマスタを共有バス20のバスマスタ当選者とし
て選択したことを知らせる。リクエスト・バス・マスタ
は、共有信号をモニタして、現在のバスマスタが共有バ
ス20の所有権を解放したことを判定する。リクエスト
・バス・マスタが共有バスの所有権を得ると、バストラ
ンザクションの開始後に1クロック期間の間バスリクエ
スト信号を非能動状態にする。これによりアービタ14
は次のバスマスタ当選者を選択することができるので、
あるバスマスタが共有バス20を専有することはない。
が公平にアクセスできる方法を提供する。 【構成】 アービタ14を用いバス仲裁プロトコルを実
行するデータ処理システム10は、複数のバスマスタ1
2,16を有する。アービタ14は、リクエスト・バス
・マスタからのバスリクエストを検出し、バス許可で応
答し、リクエストバスマスタに対し、アービタがリクエ
ストバスマスタを共有バス20のバスマスタ当選者とし
て選択したことを知らせる。リクエスト・バス・マスタ
は、共有信号をモニタして、現在のバスマスタが共有バ
ス20の所有権を解放したことを判定する。リクエスト
・バス・マスタが共有バスの所有権を得ると、バストラ
ンザクションの開始後に1クロック期間の間バスリクエ
スト信号を非能動状態にする。これによりアービタ14
は次のバスマスタ当選者を選択することができるので、
あるバスマスタが共有バス20を専有することはない。
Description
【0001】
【産業上の利用分野】本発明は、一般に、データ処理シ
ステムに関する。さらに詳しくは、バス仲裁(バス・ア
ービトレーション)を実行するデータ処理システムに関
する。
ステムに関する。さらに詳しくは、バス仲裁(バス・ア
ービトレーション)を実行するデータ処理システムに関
する。
【0002】
【従来の技術と発明が解決しようとする課題】オンチッ
プ・キャッシュまたはパイプライン化された入力/出力
(I/O)ユニット(たとえば命令シーケンサ,ロード
/記憶ユニット)をもつ現在の高性能データ・プロセッ
サは、外部のメモリ・システムに対するアクセスに関し
て複数の独立した内部リクエストを発する可能性を有す
る。パッケージのピン数の制約により、これらのデータ
・プロセッサ資源はすべて、単独のバス・インターフェ
ース・ユニット(BIU)を介して外部メモリにアクセ
スしなければならない。BIUでは任意のときに、複数
の独立した内部リクエストが現れることがあるので、デ
ータ・プロセッサは、どの内部リクエストを選択してシ
ステム・バスにアクセスするかを決定するための内部バ
ス仲裁スキームを必要とする。1台以上のデータ・プロ
セッサがバス・マスタとなることができる多重マスタ・
システムにおいては、バス仲裁プロトコルにより、どの
データ・プロセッサ(群)がバス・マスタになるかが決
定される。通常、これらの多重システムでは、外部アー
ビタ(arbiter: 仲裁装置)がバス仲裁を制御し、各デ
ータ・プロセッサは、バス仲裁信号を用いて、アービタ
から共有外部メモリに対するアクセスをリクエストす
る、外部仲裁プロトコルを採用している。
プ・キャッシュまたはパイプライン化された入力/出力
(I/O)ユニット(たとえば命令シーケンサ,ロード
/記憶ユニット)をもつ現在の高性能データ・プロセッ
サは、外部のメモリ・システムに対するアクセスに関し
て複数の独立した内部リクエストを発する可能性を有す
る。パッケージのピン数の制約により、これらのデータ
・プロセッサ資源はすべて、単独のバス・インターフェ
ース・ユニット(BIU)を介して外部メモリにアクセ
スしなければならない。BIUでは任意のときに、複数
の独立した内部リクエストが現れることがあるので、デ
ータ・プロセッサは、どの内部リクエストを選択してシ
ステム・バスにアクセスするかを決定するための内部バ
ス仲裁スキームを必要とする。1台以上のデータ・プロ
セッサがバス・マスタとなることができる多重マスタ・
システムにおいては、バス仲裁プロトコルにより、どの
データ・プロセッサ(群)がバス・マスタになるかが決
定される。通常、これらの多重システムでは、外部アー
ビタ(arbiter: 仲裁装置)がバス仲裁を制御し、各デ
ータ・プロセッサは、バス仲裁信号を用いて、アービタ
から共有外部メモリに対するアクセスをリクエストす
る、外部仲裁プロトコルを採用している。
【0003】たとえば、集中化された3配線仲裁プロト
コルにおいては、データ・プロセッサにより用いられる
3つの主要な制御信号は、バス・リクエスト(BR*)
出力,バス許可(bus grant: BG*)入力およびバス
使用中(bus busy: ABB*)入力/出力である(*は
低能動信号を表す)。仲裁プロトコルを用いることによ
り、仲裁をバスの活動に重複させることができる。従っ
て、潜在的バス・マスタからのそれぞれのBR*信号を
介したリクエストは、現在のバス・トランザクションに
重複することができ、バスの所有権の移動(バスのハン
ドオフ)は、(BG*)信号を与える外部アービタと、
ABB*信号を与える現在のバス・マスタとにより制御
される。このため、第1データ・プロセッサは、内部バ
ス・リクエストが保留の場合にはいつでも、BR*信号
をアサートすることによりアービタからバスをリクエス
トする。アービタによって(BG*信号を介して)アー
ビタがデータ・プロセッサを次のバス・マスタとして選
択したことが示され、第1データ・プロセッサがアドレ
ス・バスが使用中で内と判定するまで、第1データ・プ
ロセッサは、BR*信号のアサートを続ける。従って、
アービタが第1データ・プロセッサのBG*信号をアサ
ートすると、第1データ・プロセッサはバス使用中(A
BB*)信号をモニタして、前の(代替の)マスタのバ
ス・サイクルがいつ終了したかを判定する。ABB*信
号が代替マスタによりニゲートされると、第1データ・
プロセッサはABB*信号をアサートして、バスの所有
権を示し、バス・サイクルを開始する。
コルにおいては、データ・プロセッサにより用いられる
3つの主要な制御信号は、バス・リクエスト(BR*)
出力,バス許可(bus grant: BG*)入力およびバス
使用中(bus busy: ABB*)入力/出力である(*は
低能動信号を表す)。仲裁プロトコルを用いることによ
り、仲裁をバスの活動に重複させることができる。従っ
て、潜在的バス・マスタからのそれぞれのBR*信号を
介したリクエストは、現在のバス・トランザクションに
重複することができ、バスの所有権の移動(バスのハン
ドオフ)は、(BG*)信号を与える外部アービタと、
ABB*信号を与える現在のバス・マスタとにより制御
される。このため、第1データ・プロセッサは、内部バ
ス・リクエストが保留の場合にはいつでも、BR*信号
をアサートすることによりアービタからバスをリクエス
トする。アービタによって(BG*信号を介して)アー
ビタがデータ・プロセッサを次のバス・マスタとして選
択したことが示され、第1データ・プロセッサがアドレ
ス・バスが使用中で内と判定するまで、第1データ・プ
ロセッサは、BR*信号のアサートを続ける。従って、
アービタが第1データ・プロセッサのBG*信号をアサ
ートすると、第1データ・プロセッサはバス使用中(A
BB*)信号をモニタして、前の(代替の)マスタのバ
ス・サイクルがいつ終了したかを判定する。ABB*信
号が代替マスタによりニゲートされると、第1データ・
プロセッサはABB*信号をアサートして、バスの所有
権を示し、バス・サイクルを開始する。
【0004】バス・サイクルが開始されると、第1デー
タ・プロセッサは、別の内部バス・リクエストが保留に
なっていればBR*をアサートし続け、アクセスがもう
必要なければ、BR*信号をニゲートする。このよう
に、オンチップのハーバード・アーキテクチャ(Harvar
d architecture)と共に仲裁プロトコルを用いるデータ
・プロセッサは、外部バスのアクセスに対して独立した
重複する内部リクエストを発生することができる。内部
バス・リクエストは、命令側とロード/記憶側の両方か
ら同時に発生することができる。あるいは、命令側がす
でに外部バスの所有者であって、外部バス命令の取り出
しを実行している間に、内部リクエストはロード/記憶
側から発生することもできるし、この逆も有り得る。い
ずれの場合も、外部アービタに対して保留中の内部リク
エストをできるだけ速く発して、現在のバス・マスタと
の仲裁重複を利用できるようにすることが望ましい。
タ・プロセッサは、別の内部バス・リクエストが保留に
なっていればBR*をアサートし続け、アクセスがもう
必要なければ、BR*信号をニゲートする。このよう
に、オンチップのハーバード・アーキテクチャ(Harvar
d architecture)と共に仲裁プロトコルを用いるデータ
・プロセッサは、外部バスのアクセスに対して独立した
重複する内部リクエストを発生することができる。内部
バス・リクエストは、命令側とロード/記憶側の両方か
ら同時に発生することができる。あるいは、命令側がす
でに外部バスの所有者であって、外部バス命令の取り出
しを実行している間に、内部リクエストはロード/記憶
側から発生することもできるし、この逆も有り得る。い
ずれの場合も、外部アービタに対して保留中の内部リク
エストをできるだけ速く発して、現在のバス・マスタと
の仲裁重複を利用できるようにすることが望ましい。
【0005】一般に、多重マスタ・システムは、ある1
つのバス・マスタが外部バスを専有することを防ぐため
に、ある種の「公正」仲裁プロトコルに依存する。通常
の公正プロトコルは、アービタが複数の潜在的バス・マ
スタからリクエストを受けたときに、各バス・マスタを
1個のバス・トランザクションに制限している。基本的
には、アービタは、円卓状に各マスタに番を与える。し
かし、特定のバス・トランザクション(たとえば読み出
し−修正書き込み)は個別に実行できるようにすること
が望ましい。データ・プロセッサは、複数の独立して発
生された内部バス・リクエストを有するので、場合によ
っては、データ・プロセッサの外部バス・リクエスト
(BR*)信号がずっとアサートされたままになること
もある。その結果、特定のバス・トランザクションを個
別に実行するためには、公正外部アービタは、BR*信
号だけでなく、外部バスから来た他の制御信号をもモニ
タしなければならないことがある。論理が複雑になり、
ピン数の制約があることから、このような公正アービタ
の実現は困難で問題が多い。
つのバス・マスタが外部バスを専有することを防ぐため
に、ある種の「公正」仲裁プロトコルに依存する。通常
の公正プロトコルは、アービタが複数の潜在的バス・マ
スタからリクエストを受けたときに、各バス・マスタを
1個のバス・トランザクションに制限している。基本的
には、アービタは、円卓状に各マスタに番を与える。し
かし、特定のバス・トランザクション(たとえば読み出
し−修正書き込み)は個別に実行できるようにすること
が望ましい。データ・プロセッサは、複数の独立して発
生された内部バス・リクエストを有するので、場合によ
っては、データ・プロセッサの外部バス・リクエスト
(BR*)信号がずっとアサートされたままになること
もある。その結果、特定のバス・トランザクションを個
別に実行するためには、公正外部アービタは、BR*信
号だけでなく、外部バスから来た他の制御信号をもモニ
タしなければならないことがある。論理が複雑になり、
ピン数の制約があることから、このような公正アービタ
の実現は困難で問題が多い。
【0006】
【課題を解決するための手段】本発明は、1つの形態に
おいては、アービタを用いてバス仲裁プロトコルを実行
するデータ処理システムおよびその方法により構成され
る。データ処理システムは、所定の数のバス・マスタを
有し、それぞれのバス・マスタは、所定の数の共有バス
に結合されている。アービタは、前記の所定の数のバス
・マスタのそれぞれに結合されて、バス所有権の割付を
制御する。アービタは、第1リクエスト・バス・マスタ
によるバス・リクエスト信号の能動化を検出し、それに
応答してバス許可信号を送る。バス許可信号は、第1リ
クエスト・バス・マスタに対して、アービタがその第1
リクエスト・バス・マスタを第1バス・マスタ当選者
(bus master elect)として選択したことを通知する。
第1リクエスト・バス・マスタは、共有信号ラインをモ
ニタして、現在のバス・マスタによるバス使用中信号の
非能動化を検出する。バス使用中信号の非能動化によ
り、第1リクエスト・バス・マスタに、現在のバス・マ
スタが第1共有バスの所有権を解放したことが知らされ
る。第1リクエスト・バス・マスタは、所定のクロック
期間の間バス・リクエスト信号を非能動化して、その後
で第1共有バスの所有権を得る。クロック期間中バス・
リクエスト信号が非能動化されることにより、アービタ
は新しいバス・マスタ当選者を選択することができ、そ
れにより現在のバス・マスタが第1共有バスを専有する
ことを防ぐ。
おいては、アービタを用いてバス仲裁プロトコルを実行
するデータ処理システムおよびその方法により構成され
る。データ処理システムは、所定の数のバス・マスタを
有し、それぞれのバス・マスタは、所定の数の共有バス
に結合されている。アービタは、前記の所定の数のバス
・マスタのそれぞれに結合されて、バス所有権の割付を
制御する。アービタは、第1リクエスト・バス・マスタ
によるバス・リクエスト信号の能動化を検出し、それに
応答してバス許可信号を送る。バス許可信号は、第1リ
クエスト・バス・マスタに対して、アービタがその第1
リクエスト・バス・マスタを第1バス・マスタ当選者
(bus master elect)として選択したことを通知する。
第1リクエスト・バス・マスタは、共有信号ラインをモ
ニタして、現在のバス・マスタによるバス使用中信号の
非能動化を検出する。バス使用中信号の非能動化によ
り、第1リクエスト・バス・マスタに、現在のバス・マ
スタが第1共有バスの所有権を解放したことが知らされ
る。第1リクエスト・バス・マスタは、所定のクロック
期間の間バス・リクエスト信号を非能動化して、その後
で第1共有バスの所有権を得る。クロック期間中バス・
リクエスト信号が非能動化されることにより、アービタ
は新しいバス・マスタ当選者を選択することができ、そ
れにより現在のバス・マスタが第1共有バスを専有する
ことを防ぐ。
【0007】本発明は、以下の詳細な説明と、添付の図
面とにより、当業者には理解されるだろう。
面とにより、当業者には理解されるだろう。
【0008】
【実施例】「アサート(assert)」および「アサーション
(assertion) 」という言葉は、信号または類似の装置を
論理的に真(能動)の状態にする際に用いられ、それに
対して「ニゲート(negate)」および「ニゲーション(neg
ation)」という言葉は、信号またはその他の装置を論理
的に偽(非能動)の状態にする場合に用いる。アスタリ
スク記号は、相補信号を示すために用いられる。たとえ
ば、バス・リクエスト*(BUS REQUEST*)は、バス・リ
クエスト(BUS REQUEST )信号の相補論理状態の信号を
示す。
(assertion) 」という言葉は、信号または類似の装置を
論理的に真(能動)の状態にする際に用いられ、それに
対して「ニゲート(negate)」および「ニゲーション(neg
ation)」という言葉は、信号またはその他の装置を論理
的に偽(非能動)の状態にする場合に用いる。アスタリ
スク記号は、相補信号を示すために用いられる。たとえ
ば、バス・リクエスト*(BUS REQUEST*)は、バス・リ
クエスト(BUS REQUEST )信号の相補論理状態の信号を
示す。
【0009】図1には、本発明による多重マスタ・デー
タ処理システム10の好適な実施例が示される。このシ
ステムでは、公正プロトコルの実現を簡単にする集中化
された仲裁システムを用いている。図示された形態にお
いては、アドレス・バス20,データ・バス22および
転送制御信号ライン24が、データ・プロセッサ(D
P)12と他のバス・マスタ−−ここでは代替バス・マ
スタ(ABM)16として単数で示されている−−とに
結合され、それらにより共有されて、外部メモリ・シス
テム18にアクセスする。転送制御信号は、バス・マス
タ群(DP12および代替バス・マスタ16)とメモリ
・システム18との間の基本的な初期接続(ハンドシェ
ーク)部となっている。図1に示されるように、アービ
タ(仲裁装置)14がデータ・プロセッサ12と代替バ
ス・マスタ16とに結合され、共有されているアドレス
・バス20の所有権の割付を制御する。基準クロック発
生器11は、バス・マスタ群(データ・プロセッサ12
および代替バス・マスタ16),アービタ14およびメ
モリ・システム18にクロック(CLK)信号を与え
る。システム10においては、データ・プロセッサ12
は内部のハーバード・アーキテクチャを用いており、C
PUコア30内の命令シーケンサ(図示せず)が命令キ
ャッシュ・メモリ管理ユニット(コード・キャッシュ:
CODE CACHE )32から命令を取り出し、CPUコア3
0内のロード/記憶ユニット(図示せず)がデータ・キ
ャッシュ・メモリ管理ユニット(データ・キャッシュ:
DATA CACHE )34に対するデータの読み/書きを実行
する。コード・キャッシュ32およびデータ・キャッシ
ュ34は、いずれも内部バス・リクエスト信号を発生
し、外部のメモリに対するアクセスが必要なときには、
この信号を用いてバス・インターフェース・ユニット
(BIU)36に知らせる。
タ処理システム10の好適な実施例が示される。このシ
ステムでは、公正プロトコルの実現を簡単にする集中化
された仲裁システムを用いている。図示された形態にお
いては、アドレス・バス20,データ・バス22および
転送制御信号ライン24が、データ・プロセッサ(D
P)12と他のバス・マスタ−−ここでは代替バス・マ
スタ(ABM)16として単数で示されている−−とに
結合され、それらにより共有されて、外部メモリ・シス
テム18にアクセスする。転送制御信号は、バス・マス
タ群(DP12および代替バス・マスタ16)とメモリ
・システム18との間の基本的な初期接続(ハンドシェ
ーク)部となっている。図1に示されるように、アービ
タ(仲裁装置)14がデータ・プロセッサ12と代替バ
ス・マスタ16とに結合され、共有されているアドレス
・バス20の所有権の割付を制御する。基準クロック発
生器11は、バス・マスタ群(データ・プロセッサ12
および代替バス・マスタ16),アービタ14およびメ
モリ・システム18にクロック(CLK)信号を与え
る。システム10においては、データ・プロセッサ12
は内部のハーバード・アーキテクチャを用いており、C
PUコア30内の命令シーケンサ(図示せず)が命令キ
ャッシュ・メモリ管理ユニット(コード・キャッシュ:
CODE CACHE )32から命令を取り出し、CPUコア3
0内のロード/記憶ユニット(図示せず)がデータ・キ
ャッシュ・メモリ管理ユニット(データ・キャッシュ:
DATA CACHE )34に対するデータの読み/書きを実行
する。コード・キャッシュ32およびデータ・キャッシ
ュ34は、いずれも内部バス・リクエスト信号を発生
し、外部のメモリに対するアクセスが必要なときには、
この信号を用いてバス・インターフェース・ユニット
(BIU)36に知らせる。
【0010】従来、データ処理システムは、保有された
あるいは接続されたバス・インターフェースを内蔵して
おり、それによってデータ・プロセッサは、トランザク
ションが終了するまで、アドレス・バスおよびデータ・
バスの両方に対して所有権を保持している。本発明によ
り、システム10は公正仲裁プロトコルを用いており、
これによりアービタ14は、アドレス・バス20のリク
エスト・マスタに対する割付を制御することができる。
本発明の好適な実施例においては、システム10は複数
のバス・マスタを採用しているが、分割バス・トランザ
クション(split bus transaction )には対応しない。
その結果、データ・バス22は、連続的にバス・マスタ
に対して許可され、仲裁はアドレス・バス20の支配権
についてのみ要求される。それぞれの潜在的バス・マス
タ(データ・プロセッサ12または代替バス・マスタ1
6)は、それぞれ独立したバス・リクエスト出力信号B
R1 *およびBR2 *と、それぞれ独立したバス許可入
力信号BG1 *およびBG 2 *とを有し、これらはアド
レス・バスの仲裁の実行に用いられる。好適な実施例に
おいては、アドレス・バス使用中(ABB*)信号ライ
ンは、仲裁バス28を介してバス・マスタ群により共有
される。従って、双方向のABB*信号は、現在のアド
レス・バス・マスタによりアサートされ、潜在的バス・
マスタはアドレス・バス20の所有権を得るのを待たな
ければならないことを示す。
あるいは接続されたバス・インターフェースを内蔵して
おり、それによってデータ・プロセッサは、トランザク
ションが終了するまで、アドレス・バスおよびデータ・
バスの両方に対して所有権を保持している。本発明によ
り、システム10は公正仲裁プロトコルを用いており、
これによりアービタ14は、アドレス・バス20のリク
エスト・マスタに対する割付を制御することができる。
本発明の好適な実施例においては、システム10は複数
のバス・マスタを採用しているが、分割バス・トランザ
クション(split bus transaction )には対応しない。
その結果、データ・バス22は、連続的にバス・マスタ
に対して許可され、仲裁はアドレス・バス20の支配権
についてのみ要求される。それぞれの潜在的バス・マス
タ(データ・プロセッサ12または代替バス・マスタ1
6)は、それぞれ独立したバス・リクエスト出力信号B
R1 *およびBR2 *と、それぞれ独立したバス許可入
力信号BG1 *およびBG 2 *とを有し、これらはアド
レス・バスの仲裁の実行に用いられる。好適な実施例に
おいては、アドレス・バス使用中(ABB*)信号ライ
ンは、仲裁バス28を介してバス・マスタ群により共有
される。従って、双方向のABB*信号は、現在のアド
レス・バス・マスタによりアサートされ、潜在的バス・
マスタはアドレス・バス20の所有権を得るのを待たな
ければならないことを示す。
【0011】本発明により、潜在的バス・マスタは、自
分のバス・リクエスト信号をアサートして、アドレス・
バス20の支配権をリクエストする。バス許可信号が外
部アービタ14により用いられ、バス・リクエストに応
答してアドレス・バス20の支配権を許可する。従っ
て、アービタ14は、複数の潜在的バス・マスタ(すな
わちデータ・プロセッサ12,代替バス・マスタ16)
のそれぞれからのBR*信号を検査して、1つのマスタ
のBG*入力信号だけをアサートする。BG*入力信号
がアービタ14によりアサートされたマスタを、「マス
タ当選者(master-elect)」と呼ぶ。マスタ当選者が制
御を得るには、現在のバス・マスタがアドレス・バス2
0の所有権を解放するまで待たねばならない。前述のよ
うに、現在のバス・マスタは、ABB*をアサートする
ことにより、アドレス・バス20の所有権を示す。バス
・トランザクションが終了すると、現在のバス・マスタ
は、1回のクロック・バス・ハンドオフ中にABB*信
号をニゲートおよび解放する。マスタ当選者は、そのB
G*信号がアサートされ、ABB*信号がニゲートされ
て、アドレス・バス20が使用中でないことを示してい
る場合に限り、アドレス・バス20の所有権を得る。従
って、潜在的バス・マスタはABB*信号を用いて、B
G*入力信号を「認定」する。このように、ABB*
は、現在のバス・マスタの出力信号であり、すべての潜
在的バス・マスタに対する入力である。
分のバス・リクエスト信号をアサートして、アドレス・
バス20の支配権をリクエストする。バス許可信号が外
部アービタ14により用いられ、バス・リクエストに応
答してアドレス・バス20の支配権を許可する。従っ
て、アービタ14は、複数の潜在的バス・マスタ(すな
わちデータ・プロセッサ12,代替バス・マスタ16)
のそれぞれからのBR*信号を検査して、1つのマスタ
のBG*入力信号だけをアサートする。BG*入力信号
がアービタ14によりアサートされたマスタを、「マス
タ当選者(master-elect)」と呼ぶ。マスタ当選者が制
御を得るには、現在のバス・マスタがアドレス・バス2
0の所有権を解放するまで待たねばならない。前述のよ
うに、現在のバス・マスタは、ABB*をアサートする
ことにより、アドレス・バス20の所有権を示す。バス
・トランザクションが終了すると、現在のバス・マスタ
は、1回のクロック・バス・ハンドオフ中にABB*信
号をニゲートおよび解放する。マスタ当選者は、そのB
G*信号がアサートされ、ABB*信号がニゲートされ
て、アドレス・バス20が使用中でないことを示してい
る場合に限り、アドレス・バス20の所有権を得る。従
って、潜在的バス・マスタはABB*信号を用いて、B
G*入力信号を「認定」する。このように、ABB*
は、現在のバス・マスタの出力信号であり、すべての潜
在的バス・マスタに対する入力である。
【0012】図2に示されるのは、本発明による公正バ
ス仲裁プロトコルの動作の一例を示すタイミング図40
である。図2においては、信号の影になっている部分は
「関係のない」状態を示す。バス・トランザクション
(CLK0)を開始する前に、潜在的バス・マスタは、
アービタ14からアドレス・バス20の所有権をリクエ
ストしなければならず、バス仲裁は現在のマスタがバス
保有期間を終了する前に始めることができる。従って、
第1クロック期間(CLK1)の立ち上がり端におい
て、アービタ14はBR1 *がデータ・プロセッサ12
によりアサートされたことを確認し、BG1 *信号をア
サートすることにより応答する。第2クロック期間(C
LK2)の立ち上がり端において、現在のバス・マスタ
は、ABB*信号をニゲートすることによりアドレス・
バス20を解放する。データ・プロセッサ12は、BG
1 *信号のアサーションとABB*信号のニゲーション
とを検出して、それにより、認定されたバス許可が受け
取られたと判定する。分割することのできないバス・ト
ランザクション(すなわち読み出し−修正−書き込み)
の場合を除き、バス・マスタは常に、認定されたバス許
可を受け取った後バス・トランザクションの開始時に、
1回の(「デッド」)クロック期間の間バス・リクエス
ト信号をニゲートする。従って、図2に示されるよう
に、認定されたバス許可を受け取ると、データ・プロセ
ッサ12はリクエストされたバス・アクセスに対するア
ドレス(たとえばA31:A0)をバス21を介してア
ドレス・バス20に移動させ、BR1 *信号をニゲート
する。データ・プロセッサ12がBR1 *信号を1クロ
ックだけニゲートすることにより、アービタ14はデー
タ・プロセッサ12のバス許可信号(BG1 *)を「公
正に」ニゲートして、新しいマスタ当選者を選択するこ
とができる。データ・プロセッサ12は、1クロックの
間転送開始(TS*)信号もアサートして、アドレス・
バス20上に有効アドレスおよび属性があることを示
す。
ス仲裁プロトコルの動作の一例を示すタイミング図40
である。図2においては、信号の影になっている部分は
「関係のない」状態を示す。バス・トランザクション
(CLK0)を開始する前に、潜在的バス・マスタは、
アービタ14からアドレス・バス20の所有権をリクエ
ストしなければならず、バス仲裁は現在のマスタがバス
保有期間を終了する前に始めることができる。従って、
第1クロック期間(CLK1)の立ち上がり端におい
て、アービタ14はBR1 *がデータ・プロセッサ12
によりアサートされたことを確認し、BG1 *信号をア
サートすることにより応答する。第2クロック期間(C
LK2)の立ち上がり端において、現在のバス・マスタ
は、ABB*信号をニゲートすることによりアドレス・
バス20を解放する。データ・プロセッサ12は、BG
1 *信号のアサーションとABB*信号のニゲーション
とを検出して、それにより、認定されたバス許可が受け
取られたと判定する。分割することのできないバス・ト
ランザクション(すなわち読み出し−修正−書き込み)
の場合を除き、バス・マスタは常に、認定されたバス許
可を受け取った後バス・トランザクションの開始時に、
1回の(「デッド」)クロック期間の間バス・リクエス
ト信号をニゲートする。従って、図2に示されるよう
に、認定されたバス許可を受け取ると、データ・プロセ
ッサ12はリクエストされたバス・アクセスに対するア
ドレス(たとえばA31:A0)をバス21を介してア
ドレス・バス20に移動させ、BR1 *信号をニゲート
する。データ・プロセッサ12がBR1 *信号を1クロ
ックだけニゲートすることにより、アービタ14はデー
タ・プロセッサ12のバス許可信号(BG1 *)を「公
正に」ニゲートして、新しいマスタ当選者を選択するこ
とができる。データ・プロセッサ12は、1クロックの
間転送開始(TS*)信号もアサートして、アドレス・
バス20上に有効アドレスおよび属性があることを示
す。
【0013】第3クロック(CLK3)の立ち上がり端
において、アービタ14は、BR1*信号のニゲーショ
ンと代替バス・マスタ16によるBR2 *信号のアサー
ションとを検出し、アービタ14は、BG1 *信号をニ
ゲートし、BG2 *信号をアサートすることにより応答
する。BG2 *信号をアサートすることにより、アービ
タ14は、代替バス・マスタ16が新しいマスタ当選者
になることを選択する。図2に示されるように、第4ク
ロック期間(CLK4)の立ち上がり端において、デー
タ・プロセッサ12は、ABB*信号を1クロック・バ
ス・ハンドオフ期間の間ニゲートおよび解放することに
よりそのバス保有期間を終了する。第5クロック期間
(CLK5)の立ち上がり端において、代替バス・マス
タ16は、BG2 *信号のアサーションとABB*信号
のニゲーションとを検出し、それにより認定されたバス
許可が受け取られたと判定する。認定されたバス許可の
検出に応答して、代替バス・マスタ16はABB*信号
をアサートし、バス転送を開始して、1回の「デッド」
クロック期間の間BR2 *信号をニゲートする。ただし
リクエストされたバス・トランザクションが分割可能な
ものであることが前提である。
において、アービタ14は、BR1*信号のニゲーショ
ンと代替バス・マスタ16によるBR2 *信号のアサー
ションとを検出し、アービタ14は、BG1 *信号をニ
ゲートし、BG2 *信号をアサートすることにより応答
する。BG2 *信号をアサートすることにより、アービ
タ14は、代替バス・マスタ16が新しいマスタ当選者
になることを選択する。図2に示されるように、第4ク
ロック期間(CLK4)の立ち上がり端において、デー
タ・プロセッサ12は、ABB*信号を1クロック・バ
ス・ハンドオフ期間の間ニゲートおよび解放することに
よりそのバス保有期間を終了する。第5クロック期間
(CLK5)の立ち上がり端において、代替バス・マス
タ16は、BG2 *信号のアサーションとABB*信号
のニゲーションとを検出し、それにより認定されたバス
許可が受け取られたと判定する。認定されたバス許可の
検出に応答して、代替バス・マスタ16はABB*信号
をアサートし、バス転送を開始して、1回の「デッド」
クロック期間の間BR2 *信号をニゲートする。ただし
リクエストされたバス・トランザクションが分割可能な
ものであることが前提である。
【0014】一定の環境では、現在のバス・マスタは機
能的に関連性をもつ複数の転送を要求することができ
る。たとえば、読み出し−修正−書き込みサイクルの場
合、現在のマスタ(データ・プロセッサ12)は、第1
の固定されたトランザクション(読み出し)の間ずっと
BR1 *信号をアサートしたままにする。外部アービタ
14は、図2に示されるようにBR1 *デッド・クロッ
クが見えないので、アービタ14はBG1 *信号を削除
せず、そのため動作の読み出し部分(前半)の間はマス
タ当選者は選択されない。動作の後半(書き込み部分)
の間は、BR1 *ニゲーション・クロックがあるので、
アービタ14は、新しいマスタ当選者のためのバス許可
(たとえばBG2 *)信号をアサートする。その結果、
データ・プロセッサ12(現在のマスタ)がABB*信
号をニゲートすることによりアドレス・バスを解放する
と、代替バス・マスタ16(マスタ当選者)がアドレス
・バス20の所有権を得る。この動作により、読み出し
−修正−書き込み動作の不可分性が保証される。
能的に関連性をもつ複数の転送を要求することができ
る。たとえば、読み出し−修正−書き込みサイクルの場
合、現在のマスタ(データ・プロセッサ12)は、第1
の固定されたトランザクション(読み出し)の間ずっと
BR1 *信号をアサートしたままにする。外部アービタ
14は、図2に示されるようにBR1 *デッド・クロッ
クが見えないので、アービタ14はBG1 *信号を削除
せず、そのため動作の読み出し部分(前半)の間はマス
タ当選者は選択されない。動作の後半(書き込み部分)
の間は、BR1 *ニゲーション・クロックがあるので、
アービタ14は、新しいマスタ当選者のためのバス許可
(たとえばBG2 *)信号をアサートする。その結果、
データ・プロセッサ12(現在のマスタ)がABB*信
号をニゲートすることによりアドレス・バスを解放する
と、代替バス・マスタ16(マスタ当選者)がアドレス
・バス20の所有権を得る。この動作により、読み出し
−修正−書き込み動作の不可分性が保証される。
【0015】共有バスを用いているデータ処理システム
においては、バス帯域幅が大きくなるので、これらのシ
ステムは、分割トランザクションまたはパイプライン化
されたメモリを用いてバスの処理能力を最大限にするこ
とが多い。分割システムにおいては、アドレスおよび転
送属性は、バス上の適切なメモリ・モジュールに局部的
にラッチされる。次にバス・マスタは、アドレス・バス
を解放して、他のマスタがトランザクションを開始する
ことができるようにする。読み出し動作の場合は、メモ
リ・システムはデータを適切なマスタに戻す。一方書き
込みトランザクションの場合は、データはアドレスと共
にラッチされるか、あるいはメモリ・システムに書き込
めるようになるまで、データ転送が延期される。
においては、バス帯域幅が大きくなるので、これらのシ
ステムは、分割トランザクションまたはパイプライン化
されたメモリを用いてバスの処理能力を最大限にするこ
とが多い。分割システムにおいては、アドレスおよび転
送属性は、バス上の適切なメモリ・モジュールに局部的
にラッチされる。次にバス・マスタは、アドレス・バス
を解放して、他のマスタがトランザクションを開始する
ことができるようにする。読み出し動作の場合は、メモ
リ・システムはデータを適切なマスタに戻す。一方書き
込みトランザクションの場合は、データはアドレスと共
にラッチされるか、あるいはメモリ・システムに書き込
めるようになるまで、データ転送が延期される。
【0016】本発明の代替の実施例においては、システ
ム10は、アドレス・バスとデータ・バスとに関して別
々の仲裁機能を有し、これらのバスの割付が分割され
て、パイプライン化されたバス・トランザクションまた
は分割トランザクション・バスが可能になる。本発明の
公正仲裁プロトコルを、分割トランザクション・バスを
採用しているデータ処理システムに用いることもでき
る。従って、代替の実施例においては、データ・プロセ
ッサ12と代替バス・マスタ16とは、アドレス・バス
20とデータ・バス22の両方の支配権に関して別々に
仲裁しなければならない。代替の実施例においては、分
割トランザクションではそれぞれのバス・マスタへの入
力となる別々のデータ・バス許可(DBG*)信号と、
データ・バス使用中(DBB*)信号ラインを用いるこ
とが必要になる。従って、双方向DBB*信号は仲裁バ
ス28を介して、バス・マスタ群により共有される。も
う一度図1を見ると、メモリ・システム18は、DBG
*信号をアサートして、前述の方法で現在のマスタとマ
スタ当選者との間のデータ・バスのハンドオフを制御す
る。その後マスタ当選者は、データ・バスが使用中でな
い印(すなわちDBB*のニゲーション)と、アサート
されたDBG*(ここでは「認定されたバス許可」と示
される)とを受け取るまで待つことになる。認定された
データ・バス許可を受け取った後で、マスタ当選者はD
BB*信号をアサートし、それによりデータ・バスの所
有権を得てデータの転送を開始する。
ム10は、アドレス・バスとデータ・バスとに関して別
々の仲裁機能を有し、これらのバスの割付が分割され
て、パイプライン化されたバス・トランザクションまた
は分割トランザクション・バスが可能になる。本発明の
公正仲裁プロトコルを、分割トランザクション・バスを
採用しているデータ処理システムに用いることもでき
る。従って、代替の実施例においては、データ・プロセ
ッサ12と代替バス・マスタ16とは、アドレス・バス
20とデータ・バス22の両方の支配権に関して別々に
仲裁しなければならない。代替の実施例においては、分
割トランザクションではそれぞれのバス・マスタへの入
力となる別々のデータ・バス許可(DBG*)信号と、
データ・バス使用中(DBB*)信号ラインを用いるこ
とが必要になる。従って、双方向DBB*信号は仲裁バ
ス28を介して、バス・マスタ群により共有される。も
う一度図1を見ると、メモリ・システム18は、DBG
*信号をアサートして、前述の方法で現在のマスタとマ
スタ当選者との間のデータ・バスのハンドオフを制御す
る。その後マスタ当選者は、データ・バスが使用中でな
い印(すなわちDBB*のニゲーション)と、アサート
されたDBG*(ここでは「認定されたバス許可」と示
される)とを受け取るまで待つことになる。認定された
データ・バス許可を受け取った後で、マスタ当選者はD
BB*信号をアサートし、それによりデータ・バスの所
有権を得てデータの転送を開始する。
【0017】従って、本発明の代替の実施例により、ア
ービタ14はデータ・バス22の割付を無条件に制御す
る。前述のように、リクエスト・バス・マスタ(すなわ
ちデータ・プロセッサ12)がそのバス・リクエスト信
号(BR1 *)をアサートするときはいつでも、リクエ
スト・バス・マスタはアドレス・バス20の所有権に関
して仲裁する。アドレス・バス20の所有権を獲得する
と、データ・プロセッサ12はTS*信号をアサートし
て、アドレス・バス20上に有効アドレスが存在するこ
とを示す。基本的には、TS*信号は絶対的な1クロッ
ク・データ・バス・リクエスト信号として機能する。デ
ータの転送の用意が整うと、メモリ・システム18はD
BG*信号をアサートする。このようにメモリ・システ
ム18は、データ・バス22の所有権を直接的に制御し
て、アービタ14はアドレス・バス20の所有権を直接
的に制御する。
ービタ14はデータ・バス22の割付を無条件に制御す
る。前述のように、リクエスト・バス・マスタ(すなわ
ちデータ・プロセッサ12)がそのバス・リクエスト信
号(BR1 *)をアサートするときはいつでも、リクエ
スト・バス・マスタはアドレス・バス20の所有権に関
して仲裁する。アドレス・バス20の所有権を獲得する
と、データ・プロセッサ12はTS*信号をアサートし
て、アドレス・バス20上に有効アドレスが存在するこ
とを示す。基本的には、TS*信号は絶対的な1クロッ
ク・データ・バス・リクエスト信号として機能する。デ
ータの転送の用意が整うと、メモリ・システム18はD
BG*信号をアサートする。このようにメモリ・システ
ム18は、データ・バス22の所有権を直接的に制御し
て、アービタ14はアドレス・バス20の所有権を直接
的に制御する。
【0018】従って本発明により、データ処理システム
10のバス・インターフェース・プロトコルは、一定の
仲裁制御信号(すなわちABB*,DBB*)が、集合
的に仲裁バス28(図1)を構成する共通バス信号ライ
ンを介して、バス・マスタ群(データ・プロセッサ12
および代替バス・マスタ16)間で共有されることを必
要とする。共有出力バス・バッファ(図示せず)によ
り、それぞれのバス・マスタ、すなわちデータ・プロセ
ッサ12と代替バス・マスタ16とは、バスを争わずに
共通バス信号(たとえばABB*)を駆動することがで
きる。好適な実施例においては、各バス・マスタ、すな
わちデータ・プロセッサ12と代替バス・マスタ16と
は、バッファを高インピーダンス状態に入れないうちに
共有信号を能動的にニゲートするように設計された特殊
な出力バッファをもつ。たとえば、低能動ABB*信号
は、現在のマスタ(たとえばデータ・プロセッサ12)
によりアサートされて、アドレス・バスの所有権を示
す。データ・プロセッサ12がバスの所有権を放棄する
と、ABB*信号出力ドライバを高インピーダンス状態
において、外部のプルアップ抵抗がABB*信号をニゲ
ートして、他のマスタが所有権を得られるようにする。
基本的には、外部のプルアップ抵抗は、バス・マスタが
ない場合に共有信号をニゲートされた状態に維持するた
めの「維持装置」として機能する。
10のバス・インターフェース・プロトコルは、一定の
仲裁制御信号(すなわちABB*,DBB*)が、集合
的に仲裁バス28(図1)を構成する共通バス信号ライ
ンを介して、バス・マスタ群(データ・プロセッサ12
および代替バス・マスタ16)間で共有されることを必
要とする。共有出力バス・バッファ(図示せず)によ
り、それぞれのバス・マスタ、すなわちデータ・プロセ
ッサ12と代替バス・マスタ16とは、バスを争わずに
共通バス信号(たとえばABB*)を駆動することがで
きる。好適な実施例においては、各バス・マスタ、すな
わちデータ・プロセッサ12と代替バス・マスタ16と
は、バッファを高インピーダンス状態に入れないうちに
共有信号を能動的にニゲートするように設計された特殊
な出力バッファをもつ。たとえば、低能動ABB*信号
は、現在のマスタ(たとえばデータ・プロセッサ12)
によりアサートされて、アドレス・バスの所有権を示
す。データ・プロセッサ12がバスの所有権を放棄する
と、ABB*信号出力ドライバを高インピーダンス状態
において、外部のプルアップ抵抗がABB*信号をニゲ
ートして、他のマスタが所有権を得られるようにする。
基本的には、外部のプルアップ抵抗は、バス・マスタが
ない場合に共有信号をニゲートされた状態に維持するた
めの「維持装置」として機能する。
【0019】このように、本発明により、データ処理シ
ステム10は、複数のバス・マスタ(データ・プロセッ
サ12および代替バス・マスタ16)が、共有されてい
るアドレス・バスおよびデータ・バス20,22に対し
てそれぞれ公平にアクセスできる方法で、アービタ14
(*1)を採用している。現在のバス・マスタ(たとえば
データ・プロセッサ12)により、1回の「デッド」ク
ロック期間の間独立したバス・リクエスト信号(BR1
*)がニゲートされることにより、アービタ14(*1)
は、現在のバス・マスタによる現在のバス・トランザク
ションが終了した時点で新しいバス・マスタ当選者(す
なわち代替バス・マスタ16)が共有アドレス・バス2
0の所有権を得るように「公正に」選択することができ
る。独立バス・リクエスト信号(すなわちBR1 *)は
1回の「デッド」クロック・サイクルの間ニゲートされ
るので、アービタ14は新しいバス・マスタ当選者のた
めの新しい独立バス許可信号(すなわちBG2 *)を自
由にアサートすることができる。次に新しいバス・マス
タ当選者は、共有信号ライン(ABB*)をモニタし
て、現在のバス・マスタが共有バスの所有権を解放した
ことを判定する。同様に、新しいバス・マスタ当選者
(代替バス・マスタ16)は、共有アドレス・バス20
の所有権を得て、バス・トランザクションの開始後に1
クロック期間の間独立バス・リクエスト信号(BR2
*)を非能動状態にするが、これによりアービタ14は
別のバス・マスタ当選者を選択することができる。従っ
て、本発明は、いずれかのバス・マスタが共有バスを専
有することを防ぐ。
ステム10は、複数のバス・マスタ(データ・プロセッ
サ12および代替バス・マスタ16)が、共有されてい
るアドレス・バスおよびデータ・バス20,22に対し
てそれぞれ公平にアクセスできる方法で、アービタ14
(*1)を採用している。現在のバス・マスタ(たとえば
データ・プロセッサ12)により、1回の「デッド」ク
ロック期間の間独立したバス・リクエスト信号(BR1
*)がニゲートされることにより、アービタ14(*1)
は、現在のバス・マスタによる現在のバス・トランザク
ションが終了した時点で新しいバス・マスタ当選者(す
なわち代替バス・マスタ16)が共有アドレス・バス2
0の所有権を得るように「公正に」選択することができ
る。独立バス・リクエスト信号(すなわちBR1 *)は
1回の「デッド」クロック・サイクルの間ニゲートされ
るので、アービタ14は新しいバス・マスタ当選者のた
めの新しい独立バス許可信号(すなわちBG2 *)を自
由にアサートすることができる。次に新しいバス・マス
タ当選者は、共有信号ライン(ABB*)をモニタし
て、現在のバス・マスタが共有バスの所有権を解放した
ことを判定する。同様に、新しいバス・マスタ当選者
(代替バス・マスタ16)は、共有アドレス・バス20
の所有権を得て、バス・トランザクションの開始後に1
クロック期間の間独立バス・リクエスト信号(BR2
*)を非能動状態にするが、これによりアービタ14は
別のバス・マスタ当選者を選択することができる。従っ
て、本発明は、いずれかのバス・マスタが共有バスを専
有することを防ぐ。
【0020】本発明は、好適な実施例に関して説明され
たが、さまざまな方法で実行できることは当業者には明
白であろう。たとえば、図示された形態においては、ア
ービタ14は立ち上がりクロック端上でバス・リクエス
ト信号のトランザクションに応答する同期状態装置であ
る。アービタ論理がシステム10のタイミング要件(た
とえば1クロック仲裁)に充分対応できるほど速けれ
ば、アービタ14を非同期に実現することができること
は、当業者には明白であろう。従って、添付の請求項に
より、本発明の精神と範囲とに入るすべての修正を包含
するものとする。
たが、さまざまな方法で実行できることは当業者には明
白であろう。たとえば、図示された形態においては、ア
ービタ14は立ち上がりクロック端上でバス・リクエス
ト信号のトランザクションに応答する同期状態装置であ
る。アービタ論理がシステム10のタイミング要件(た
とえば1クロック仲裁)に充分対応できるほど速けれ
ば、アービタ14を非同期に実現することができること
は、当業者には明白であろう。従って、添付の請求項に
より、本発明の精神と範囲とに入るすべての修正を包含
するものとする。
【0021】
【図1】本発明によりバス仲裁を実行するデータ処理シ
ステムのブロック図である。
ステムのブロック図である。
【0022】
【図2】図1のシステムに関連し、本発明による公正な
バス・リクエスト機構を内蔵するバス仲裁プロトコルの
タイミング図である。
バス・リクエスト機構を内蔵するバス仲裁プロトコルの
タイミング図である。
【0023】
10 データ処理システム 11 基準クロック 12,16 バス・マスタ 18 メモリ・システム 20,22,24,28 バス 30 CPUコア 32 データ・キャッシュ 34 コード・キャッシュ 36 バス・インターフェース・ユニット
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ジェイムズ・ビー・ガレット アメリカ合衆国テキサス州オースティン、 アパートメント385、スパイグラス1781 (72)発明者 マイケル・ジェイ・ガルシア アメリカ合衆国テキサス州オースティン、 アパートメント804、ブラフ・スプリング ス・ロード6503
Claims (3)
- 【請求項1】 それぞれが所定の数の共有バス(20,
22,24,26)に結合された所定の数のバス・マス
タ(12,16,17)を有するデータ処理システム
(10)において、前記の所定の数のバス・マスタ(1
2,16,17)のそれぞれに結合されたアービタ(1
4)を用いて、バスの所有権の割付を制御するためにバ
ス仲裁プロトコルを実現する方法であって:第1リクエ
スト・バス・マスタによる第1制御信号の能動化を検出
し、それに応答して、前記アービタ(14)を介して第
2制御信号を設ける段階であって、前記第2制御信号が
前記第1リクエスト・バス・マスタに対して、前記アー
ビタ(14)が前記第1リクエスト・バス・マスタを第
1バス・マスタ当選者として選択したことを知らせる段
階;現在のバス・マスタによる第3信号の非能動化を検
出する段階であって、前記第3制御信号の前記非能動化
が、前記第1リクエスト・バス・マスタに対して、前記
の現在のバス・マスタが第1共有バスの所有権を解放し
たことを知らせる段階;および前記第1リクエスト・バ
ス・マスタが前記第1共有バスの所有権を得る前に、所
定のクロック期間の間、前記第1リクエスト・バス・マ
スタを介して、前記第1制御信号を非能動化して、それ
により前記アービタが新しいバス・マスタ当選者を選択
することができるようにする段階;によって構成される
ことを特徴とする方法。 - 【請求項2】 所定の数の共有バス(20,22,2
4,26)に結合された所定の数のバス・マスタ(1
2,16,17)を有するデータ処理システム(10)
において、前記の所定の数のバス・マスタ(12,1
6,17)のそれぞれに結合されたアービタ(14)を
用いて、バスの所有権の割付を制御するためにバス仲裁
プロトコルを実現する方法であって:第1リクエスト・
バス・マスタからの前記アービタ(14)に対する第1
制御信号をアサートして、前記アービタ(14)に対し
て、第1リクエスト・バス・マスタが第1共有バス上の
バス・トランザクションをリクエストしていることを知
らせる段階;前記第1制御信号のアサーションの検出に
応答して、前記第1リクエスト・バス・マスタに対して
前記アービタ(14)から第2制御信号を送り、それに
よって、前記第1リクエスト・バス・マスタに対して、
前記アービタが前記第1リクエスト・バス・マスタをバ
ス・マスタ当選者として選択したことを知らせる段階;
現在のバス・マスタにより制御される第3制御信号をモ
ニタして、前記第1リクエスト・バス・マスタが、前記
の所定の数のバスのうちの必要な1つが、前記バス・マ
スタ当選者により使用可能な状態であることを判定する
ことができるようにする段階であって、前記の現在のバ
ス・マスタが、前記の所定の数のバスのうち前記の必要
な1つが使用可能な状態にあることを示すときに、前記
バス・マスタ当選者がバスの所有権を獲得する段階;お
よび前記バス・トランザクションが開始された後で、第
1リクエスト・バス・マスタからの前記第1制御信号
を、所定のクロック期間の間ニゲートして、前記アービ
タが新しいバス・マスタ当選者を選択することができる
ようにする段階;によって構成されることを特徴とする
方法。 - 【請求項3】 バス仲裁を実行して、所定の数の共有バ
ス(20,22,24,26)のそれぞれに関してバス
の所有権の割付を制御するデータ処理システム(10)
であって:複数の独立したバス・リクエスト信号のそれ
ぞれのアサーションを検出し、それに応答して、複数の
独立したバス許可信号のそれぞれを選択的にアサートす
る第1手段(14);前記第1手段(14)と前記の所
定の数の共有バス(20,22,24,26)のそれぞ
れとに結合された第2手段(12)であって、最初に第
1共有バスの第1バス・マスタになる前記第2手段(1
4);および前記第1手段(14)と前記の所定の数の
共有バス(20,22,24,26)のそれぞれとに結
合された第3手段(16)であって、前記第3手段は、
前記第1手段(14)から第1独立バス許可信号が受け
取られたことに応答して、第1独立バス・リクエスト信
号をアサートし、バス使用中信号をモニタすることによ
り、前記第1共有バス上のバス・トランザクションをリ
クエストし、前記第3手段(16)は、前記バス使用中
信号が前記第1共有バスが使用可能な状態になったとき
に前記第1共有バスの新しいバス・マスタとなり、前記
バス・トランザクションの開始後に所定のクロック期間
の間、前記第1独立バス・リクエスト信号をニゲートし
て、それにより、前記第1手段(14)が前記第1独立
バス許可信号をニゲートし、第2独立バス許可信号をア
サートして、前記第1共有バスに対して新しいバス・マ
スタを選択することができるようにする前記第3手段
(16); によって構成されることを特徴とするデー
タ処理システム(10)。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US845902 | 1986-03-28 | ||
US84590292A | 1992-03-04 | 1992-03-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0652096A true JPH0652096A (ja) | 1994-02-25 |
Family
ID=25296376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5065996A Pending JPH0652096A (ja) | 1992-03-04 | 1993-03-03 | データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US5416910A (ja) |
EP (1) | EP0559408B1 (ja) |
JP (1) | JPH0652096A (ja) |
DE (1) | DE69320508T2 (ja) |
Families Citing this family (50)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5513372A (en) * | 1993-08-23 | 1996-04-30 | Intel Corporation | Peripheral interface having hold control logic for generating stall signals to arbitrate two read and one write operations between processor and peripheral |
US5524215A (en) * | 1993-10-05 | 1996-06-04 | Motorola, Inc. | Bus protocol and method for controlling a data processor |
US5533204A (en) * | 1994-04-18 | 1996-07-02 | Compaq Computer Corporation | Split transaction protocol for the peripheral component interconnect bus |
US6256694B1 (en) * | 1994-06-30 | 2001-07-03 | Compaq Computer Corporation | Distributed early arbitration |
US5751974A (en) * | 1994-07-21 | 1998-05-12 | Motorola, Inc. | Contention resolution for a shared access bus |
US5598542A (en) * | 1994-08-08 | 1997-01-28 | International Business Machines Corporation | Method and apparatus for bus arbitration in a multiple bus information handling system using time slot assignment values |
US5577230A (en) * | 1994-08-10 | 1996-11-19 | At&T Corp. | Apparatus and method for computer processing using an enhanced Harvard architecture utilizing dual memory buses and the arbitration for data/instruction fetch |
US5809258A (en) * | 1994-08-23 | 1998-09-15 | Ascom Timeplex Trading Ag | Bus with high gross data transfer rate |
US6029217A (en) * | 1994-10-03 | 2000-02-22 | International Business Machines Corporation | Queued arbitration mechanism for data processing system |
US5687327A (en) * | 1994-10-03 | 1997-11-11 | International Business Machines Corporation | System and method for allocating bus resources in a data processing system |
US5625779A (en) * | 1994-12-30 | 1997-04-29 | Intel Corporation | Arbitration signaling mechanism to prevent deadlock guarantee access latency, and guarantee acquisition latency for an expansion bridge |
US5528767A (en) * | 1995-03-21 | 1996-06-18 | United Microelectronics Corp. | Programmable multi-level bus arbitration apparatus in a data processing system |
US5815676A (en) * | 1995-04-28 | 1998-09-29 | Apple Computer, Inc. | Address bus arbiter for pipelined transactions on a split bus |
US5901295A (en) * | 1995-04-28 | 1999-05-04 | Apple Computer, Inc. | Address and data bus arbiter for pipelined transactions on a split bus |
US5708783A (en) * | 1995-04-28 | 1998-01-13 | Apple Computer, Inc. | Data bus arbiter for pipelined transactions on a split bus |
US5572686A (en) * | 1995-06-05 | 1996-11-05 | Apple Computer, Inc. | Bus arbitration scheme with priority switching and timer |
US6104876A (en) * | 1995-06-07 | 2000-08-15 | Cirrus Logic, Inc. | PCI bus master retry fixup |
US5713029A (en) * | 1995-09-29 | 1998-01-27 | International Business Machines Corporation | Information handling system including doze mode control |
US5727171A (en) * | 1995-11-16 | 1998-03-10 | International Business Machines Corporation | Method and apparatus for allowing multi-speed synchronous communications between a processor and both slow and fast computing devices |
US5692135A (en) * | 1995-12-14 | 1997-11-25 | International Business Machines Corporation | Method and system for performing an asymmetric bus arbitration protocol within a data processing system |
US6115374A (en) * | 1995-12-22 | 2000-09-05 | Cisco Technology, Inc. | Method and apparatus for dynamically assigning bandwidth for a time division multiplexing data bus |
US6061348A (en) * | 1995-12-22 | 2000-05-09 | Cisco Technology, Inc. | Method and apparatus for dynamically allocating bandwidth for a time division multiplexed data bus |
US5671369A (en) * | 1995-12-22 | 1997-09-23 | Unisys Corporation | Bus grant overlap circuit |
US5732079A (en) * | 1995-12-22 | 1998-03-24 | Cisco Technology, Inc. | Method and apparatus for skewing the start of transmission on multiple data highways |
AT410875B (de) * | 1996-01-10 | 2003-08-25 | Frequentis Nachrichtentechnik Gmbh | Verfahren und anlage zur übertragung von daten |
US5842025A (en) * | 1996-08-27 | 1998-11-24 | Mmc Networks, Inc. | Arbitration methods and apparatus |
US5982672A (en) * | 1996-10-18 | 1999-11-09 | Samsung Electronics Co., Ltd. | Simultaneous data transfer through read and write buffers of a DMA controller |
US5805836A (en) * | 1996-12-10 | 1998-09-08 | International Business Machines Corporation | Method and apparatus for equalizing grants of a data bus to primary and secondary devices |
US6662216B1 (en) * | 1997-04-14 | 2003-12-09 | International Business Machines Corporation | Fixed bus tags for SMP buses |
US6122284A (en) * | 1997-07-07 | 2000-09-19 | Telcom Semiconductor, Inc. | Multidrop analog signal bus |
US5926628A (en) * | 1997-07-15 | 1999-07-20 | International Business Machines Corporation | Selectable priority bus arbitration scheme |
FR2767620B1 (fr) * | 1997-08-25 | 1999-09-24 | Alsthom Cge Alcatel | Procede d'exploitation d'un lien de transmission numerique partage temporellement par plusieurs unites et unite pour la mise en oeuvre d'un tel procede |
US6816934B2 (en) * | 2000-12-22 | 2004-11-09 | Hewlett-Packard Development Company, L.P. | Computer system with registered peripheral component interconnect device for processing extended commands and attributes according to a registered peripheral component interconnect protocol |
US6266731B1 (en) | 1998-09-03 | 2001-07-24 | Compaq Computer Corporation | High speed peripheral interconnect apparatus, method and system |
US6374319B1 (en) * | 1999-06-22 | 2002-04-16 | Philips Electronics North America Corporation | Flag-controlled arbitration of requesting agents |
US6349371B1 (en) * | 1999-10-01 | 2002-02-19 | Stmicroelectronics Ltd. | Circuit for storing information |
US6519666B1 (en) | 1999-10-05 | 2003-02-11 | International Business Machines Corporation | Arbitration scheme for optimal performance |
US6535941B1 (en) * | 1999-11-08 | 2003-03-18 | International Business Machines Corporation | Method and apparatus for avoiding data bus grant starvation in a non-fair, prioritized arbiter for a split bus system with independent address and data bus grants |
US7529799B2 (en) * | 1999-11-08 | 2009-05-05 | International Business Machines Corporation | Method and apparatus for transaction tag assignment and maintenance in a distributed symmetric multiprocessor system |
US6684279B1 (en) * | 1999-11-08 | 2004-01-27 | International Business Machines Corporation | Method, apparatus, and computer program product for controlling data transfer |
US6775727B2 (en) | 2001-06-23 | 2004-08-10 | Freescale Semiconductor, Inc. | System and method for controlling bus arbitration during cache memory burst cycles |
US7072292B2 (en) * | 2001-11-13 | 2006-07-04 | Transwitch Corporation | Methods and apparatus for supporting multiple Utopia masters on the same Utopia bus |
US6944698B2 (en) * | 2002-07-08 | 2005-09-13 | International Business Machines Corporation | Method and apparatus for providing bus arbitrations in a data processing system |
US7065595B2 (en) * | 2003-03-27 | 2006-06-20 | International Business Machines Corporation | Method and apparatus for bus access allocation |
US7013357B2 (en) * | 2003-09-12 | 2006-03-14 | Freescale Semiconductor, Inc. | Arbiter having programmable arbitration points for undefined length burst accesses and method |
US7644211B2 (en) * | 2004-12-07 | 2010-01-05 | Cisco Technology, Inc. | Method and system for controlling transmission of USB messages over a data network between a USB device and a plurality of host computers |
US8504707B2 (en) * | 2004-12-07 | 2013-08-06 | Cisco Technology, Inc. | Method and system for sending and receiving USB messages over a data network |
FR2884629B1 (fr) * | 2005-04-15 | 2007-06-22 | Atmel Corp | Dispositif d'amelioration de la bande passante pour des circuits munis de controleurs memoires multiples |
US11144358B1 (en) | 2018-12-06 | 2021-10-12 | Pure Storage, Inc. | Asynchronous arbitration of shared resources |
US11221795B2 (en) | 2019-02-25 | 2022-01-11 | International Business Machines Corporation | Queue management for multiway queues |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4281381A (en) * | 1979-05-14 | 1981-07-28 | Bell Telephone Laboratories, Incorporated | Distributed first-come first-served bus allocation apparatus |
US4384323A (en) * | 1980-02-25 | 1983-05-17 | Bell Telephone Laboratories, Incorporated | Store group bus allocation system |
US4586128A (en) * | 1983-04-14 | 1986-04-29 | Burroughs Corporation | Arbitrator circuit and technique for use in a digital computing system having multiple bus controllers |
US4763249A (en) * | 1983-09-22 | 1988-08-09 | Digital Equipment Corporation | Bus device for use in a computer system having a synchronous bus |
US4661905A (en) * | 1983-09-22 | 1987-04-28 | Digital Equipment Corporation | Bus-control mechanism |
JPS60258671A (ja) * | 1984-06-05 | 1985-12-20 | Nec Corp | プロセツサ |
US4789926A (en) * | 1985-08-06 | 1988-12-06 | International Business Machines Corporation | Digital data processing arbitration system |
US4785394A (en) * | 1986-09-19 | 1988-11-15 | Datapoint Corporation | Fair arbitration technique for a split transaction bus in a multiprocessor computer system |
JPS63132365A (ja) * | 1986-11-22 | 1988-06-04 | Nec Corp | バス調停制御方式 |
US4817037A (en) * | 1987-02-13 | 1989-03-28 | International Business Machines Corporation | Data processing system with overlap bus cycle operations |
US4987529A (en) * | 1988-08-11 | 1991-01-22 | Ast Research, Inc. | Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters |
US4991172A (en) * | 1988-10-28 | 1991-02-05 | International Business Machines Corporation | Design of a high speed packet switching node |
US5127089A (en) * | 1989-07-03 | 1992-06-30 | Motorola, Inc. | Synchronous bus lock mechanism permitting bus arbiter to change bus master during a plurality of successive locked operand transfer sequences after completion of current sequence |
US5119292A (en) * | 1989-07-21 | 1992-06-02 | Clearpoint Research Corporation | Bus device which abstains from round robin arbitration |
JPH0810445B2 (ja) * | 1990-09-21 | 1996-01-31 | インターナショナル・ビジネス・マシーンズ・コーポレイション | 動的バス調停方法及び装置 |
US5191656A (en) * | 1991-08-29 | 1993-03-02 | Digital Equipment Corporation | Method and apparatus for shared use of a multiplexed address/data signal bus by multiple bus masters |
US5301282A (en) * | 1991-10-15 | 1994-04-05 | International Business Machines Corp. | Controlling bus allocation using arbitration hold |
-
1993
- 1993-03-01 EP EP93301521A patent/EP0559408B1/en not_active Expired - Lifetime
- 1993-03-01 DE DE69320508T patent/DE69320508T2/de not_active Expired - Fee Related
- 1993-03-03 JP JP5065996A patent/JPH0652096A/ja active Pending
-
1994
- 1994-03-25 US US08/218,146 patent/US5416910A/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP0559408A1 (en) | 1993-09-08 |
EP0559408B1 (en) | 1998-08-26 |
DE69320508T2 (de) | 1999-03-04 |
DE69320508D1 (de) | 1998-10-01 |
US5416910A (en) | 1995-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH0652096A (ja) | データ処理システム内でアービタを用いてバス仲裁を実行する方法および装置 | |
US5611058A (en) | System and method for transferring information between multiple buses | |
EP0559409B1 (en) | A method and apparatus for performing a bus arbitration protocol in a data processing system | |
US7246185B1 (en) | Master and slave side arbitrators associated with programmable chip system components | |
US6490642B1 (en) | Locked read/write on separate address/data bus using write barrier | |
JPH0218657A (ja) | 複数バス・マイクロコンピユータ・システム | |
US5590299A (en) | Multiprocessor system bus protocol for optimized accessing of interleaved storage modules | |
US5345562A (en) | Data bus arbitration for split transaction computer bus | |
JPH09190406A (ja) | 直接メモリアクセス制御装置及びこれを用いた伝送システム | |
JP2003281082A (ja) | 二バス間のトランザクションを制御する再試行方法 | |
WO1998032063A2 (en) | Method and apparatus for zero latency bus transactions | |
US6604159B1 (en) | Data release to reduce latency in on-chip system bus | |
JP4233373B2 (ja) | データ転送制御装置 | |
JPH06324988A (ja) | 非多重化非同期アドレス/データ・バス・システムを使用するデータ処理システム | |
US7296109B1 (en) | Buffer bypass circuit for reducing latency in information transfers to a bus | |
JPH09153009A (ja) | 階層構成バスのアービトレーション方法 | |
WO1992006432A1 (en) | Device for controlling bus | |
KR100451789B1 (ko) | 자원 공유를 위한 프로세서 중재장치 및 중재방법 | |
JP3240863B2 (ja) | 調停回路 | |
KR100243868B1 (ko) | 주 전산기에서의 중재로직 방법 | |
KR0126583B1 (ko) | 시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module) | |
JPS6160162A (ja) | バス調停方式 | |
JP2000029822A (ja) | ブリッジ装置 | |
JP2001331442A (ja) | システムバス競合制御装置及びそれに用いるシステムバス競合制御方式 | |
JPH11143825A (ja) | バス調停機構 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040907 |
|
A131 | Notification of reasons for refusal |
Effective date: 20040914 Free format text: JAPANESE INTERMEDIATE CODE: A131 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20050125 |