JP3598958B2 - バス調停方法及び情報処理装置 - Google Patents
バス調停方法及び情報処理装置 Download PDFInfo
- Publication number
- JP3598958B2 JP3598958B2 JP2000277730A JP2000277730A JP3598958B2 JP 3598958 B2 JP3598958 B2 JP 3598958B2 JP 2000277730 A JP2000277730 A JP 2000277730A JP 2000277730 A JP2000277730 A JP 2000277730A JP 3598958 B2 JP3598958 B2 JP 3598958B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- unit
- use request
- master
- buses
- 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 - Lifetime
Links
Images
Landscapes
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は、複数のバスマスタが同一のバスに接続されている情報処理装置のバス調停技術に関し、特にバスを複数の単位バスに分割して使用できるようにすることにより、バス調停時に待ち状態になるバスマスタの数を減らし、システムとしての性能向上を図ることができるバス調停技術に関する。
【0002】
【従来の技術】
複数のバスマスタが同一のバスに接続されている情報処理装置に於いては、バスアービタにより各バスマスタからのバス使用要求を調停するようにしている。従来の一般的なバスアービタは、或るバスマスタからバス使用要求があった場合、バスが未使用であれば、要求元のバスマスタに対してバスの使用権を与え、バスが使用中であれば、バスが解放されるのを待って使用権を与えるというものであった。このため、バスの使用権を与えられたバスマスタAが、全バス幅の内の一部のみしか使用しない場合であっても、他のバスマスタBからのバス使用要求は、バスマスタAがバスを解放するまで待たされることになる。例えば、バスマスタAが4バイト構成のバスの内の1バイトしか使用しておらず、且つバスマスタBが必要とするバス幅が1バイトの場合であっても、バスマスタBのバス使用要求は待たされることになる。その間、バスマスタBは、待ち状態となり、システム性能が低下してしまう。
【0003】
そこで、このような問題点を解決するため、バスを複数の単位バスに分割し、各バスマスタにバス使用権を与える際、バスマスタが必要としているバス幅を考慮して単位バス単位でバス使用権を与えるという技術が提案された(例えば、特開平5−282242号公報)。
【0004】
以下に4バイト構成のバスを、それぞれが1バイト構成の4個の単位バスに分割した場合を例にとって上記した従来の技術を説明する。バスに接続されている各バスマスタは、バスの使用権を得る際、必要とするバス幅を含むバス使用要求をバスアービタに対して出力する。今、例えば、4個の単位バスが全く使用されていない状態に於いて、バスマスタA,Bがバス幅1バイトを含むバス使用要求を順次出力したとする。バスマスタAからバス幅1バイトを含むバス使用要求が送られてくると、バスアービタは、未使用の単位バスが4個、要求されたバス幅が1バイト(要求された単位バスが1個)であり、未使用の単位バス数が要求された単位バス数以上であるので、未使用の単位バスの内の1つ(例えば、第0バイト目の単位バス)の使用権をバスマスタAに与える。その後、バスマスタBからバス幅1バイトを含むバス使用要求が送られてくると、バスアービタは、未使用の単位バスが3個、要求された単位バスが1個であるので、例えば、未使用の単位バスの内の、第1バイト目の単位バスの使用権をバスマスタBに与える。この従来の技術によれば、複数のバスマスタに、同時にバスの使用権を与えることが可能になり、バスマスタが待機状態になる回数を減らすことができるので、システム性能を向上させることができる。
【0005】
【発明が解決しようとする課題】
しかし、上述した従来の技術には、次のような問題点があった。今、例えば、4個の単位バスが全て未使用の状態に於いて、バスマスタA,B,Cからバス幅3バイト,2バイト,1バイトを含むバス使用要求が順次出力されたとする。バスアービタは、バスマスタAからバス幅3バイトを含むバス使用要求が送られてくると、未使用の単位バスが4個、要求された単位バスが3個であり、未使用の単位バス数が要求された単位バス数以上であるので、例えば、第0バイト目〜第2バイト目の単位バスの使用権をバスマスタAに与える。その後、バスマスタBからバス幅2バイトを含むバス使用要求が送られてくると、未使用の単位バスが1個、要求された単位バスが2個であり、要求された単位バス数の方が未使用の単位バス数よりも大きいので、バスマスタBからのバス使用要求を保留状態にする。その後、バスマスタCからバス幅1バイトを含むバス使用要求が送られてくると、先行するバスマスタBからのバス使用要求が保留状態になっているので、バスマスタCからのバス使用要求も保留状態にする。その後、バスマスタAがバスを解放すると、バスアービタは、保留状態のバスマスタB,Cからのバス使用要求を順次処理し、バスマスタBに例えば第0バイト目,第1バイト目の単位バスの使用権を与え、バスマスタCに例えば第2バイト目の単位バスの使用権を与える。
【0006】
このように上述した従来の技術では、先行するバス使用要求が保留状態になっている場合、後続のバス使用要求も無条件で保留状態にしているため、待機状態となるバスマスタ数を充分に減らし、システム性能を充分に高めることが困難であった。つまり、バスマスタCがバス使用要求を出力した時点に於いては、1個の単位バスが未使用になっており、バスマスタCにこの未使用の単位バスの使用権を与えるようにすれば、バスマスタCが待機状態になることを防ぐことができるが、上述した従来の技術では、先行するバス使用要求が保留状態になっている場合、後続のバス使用要求も無条件で保留状態にするようにしているため、バスマスタCが待機状態になってしまい、システム性能を充分に高いものにすることが困難であった。
【0007】
そこで、本発明の目的は、先行するバス使用要求が保留状態になっている場合に於いても、後続のバス使用要求の要求元バスマスタにできる限りバス使用権を与えることにより、システム性能を更に高いものにすることにある。
【0008】
【課題を解決するための手段】
本発明のバス調停方法は、上記目的を達成するため、
複数の単位バスに分割されたバスと、該バスに接続された複数のバスマスタと、該複数のバスマスタからのバス使用要求を調停するバスアービタとを有する情報処理装置に於けるバス調停方法であって、
前記バスマスタは、
前記バスの使用要求時、使用要求する単位バスの数に関連する情報を含むバス使用要求を前記バスアービタに対して出力し、
前記バスアービタは、
前記バスマスタからバス使用要求が送られてきた時、古い保留状態のバス使用要求の有無に関わらず、前記バスマスタからのバス使用要求によって使用要求された数以上の単位バスが未使用である場合は、未使用の単位バスの中から前記使用要求された数の単位バスを選択して該選択した単位バスの使用権を要求元のバスマスタに与え、そうでない場合は、前記バス使用要求を保留状態にし、
バスを解放するバスマスタが発生した時、保留順が古い保留状態のバス使用要求から順番に、そのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から前記使用要求された数の単位バスを選択し、該選択した単位バスの使用権を要求元のバスマスタに与えるという処理を行う。
【0009】
この構成によれば、先行するバス使用要求が保留状態にされても、後続のバス使用要求が必要とする単位バス数以上の単位バスが未使用であれば、後続のバス使用要求の要求元バスマスタにバス使用権を与えることができるので、バスマスタが待機状態になる回数を減らし、システム性能を高めることができる。
【0010】
上記したバス調停方法を実施するのに好適な装置として、本発明の情報処理装置は、
複数の単位バスに分割されたバスと、該バスに接続された複数のバスマスタと、該複数のバスマスタからのバス使用要求を調停するバスアービタとを備えた情報処理装置であって、
前記各バスマスタが、
前記バスの使用要求時、使用要求する単位バスの数に関連する情報を含むバス使用要求を前記バスアービタに対して出力するバス使用要求手段を備え、
前記バスアービタが、
前記バスマスタからバス使用要求が送られてきた時、古い保留状態のバス使用要求の有無に関わらず、前記バスマスタからのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から前記使用要求された数の単位バスを選択して該選択した単位バスの使用権を要求元のバスマスタに与え、そうでなければ、前記バス使用要求を保留状態にし、バスを解放するバスマスタが発生した時、保留順の古いバス使用要求から順番に、そのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から、前記使用要求された数の単位バスを選択し、該選択した単位バスの使用権を要求元のバスマスタに与えるという処理を行うバス使用許可手段を備えている。
【0011】
【発明の実施の形態】
次に本発明の実施の形態について図面を参照して詳細に説明する。
【0012】
【実施例の構成】
図1は本発明の情報処理装置の一実施例を示すブロック図であり、バス100を介して、バスアービタ1と、複数のバスマスタ2−1〜2−4と、複数のバススレーブ3−1,3−2とが相互に接続されている。尚、図1に於いては、バスアービタ1とバスマスタ2−1との間でやり取りされるバス使用要求信号BR−1,バス使用要求幅信号W1−1〜W4−1,バス使用許可位置信号P0−1〜P3−1,バス使用許可信号BG−1しか図示していないが、バスアービタ1と他のバスマスタ2−2〜2−4との間でも同様の信号がやり取りされる。また、以下の説明に於いては、バスアービタ1とバスマスタ2−i(1≦i≦4)との間でやり取りする信号は−iを付すものとする。従って、バス使用要求信号BR−3と記した場合には、バスマスタ2−3が出力するバス使用要求信号を示し、バス使用許可信号BG−4と記した場合には、バスマスタ2−4に対するバス使用許可信号を示すことになる。
【0013】
バス100は、4バイト構成のバスであり、それぞれが1バイト構成の第0バイト〜第3バイトの4個の単位バスに分割されている。
【0014】
バスマスタ2−1は、バス使用要求手段20と、バス使用許可信号受信手段25と、バス使用許可位置信号受信手段26と、バス使用許可位置解読手段27と、データ転送実行手段28とを備えている。
【0015】
バス使用要求手段20は、バスの使用要求時、使用要求する単位バスの数に関連する情報を含むバス使用要求を前記バスアービタに対して出力する機能を有するものであり、バス使用要求信号生成手段21と、バス使用要求信号送出手段22と、バス使用要求幅信号生成手段23と、バス使用要求幅信号送出手段24とから構成される。
【0016】
バス使用要求信号生成手段21は、バスマスタ2−1内でバスの使用要求が発生した場合、バス使用要求信号送出手段22に対してバス使用要求信号BR−1の送出を指示する機能を有し、バス使用要求信号送出手段22は、上記指示に従ってバスアービタ1に対してバス使用要求信号BR−1を送出する機能を有する。また、バス使用要求信号生成手段21は、バスマスタ2−1がバス100を解放する場合、バス使用要求信号送出手段22に対してバス使用要求信号BR−1の送出停止を指示する機能を有し、バス使用要求信号送出手段22は、上記指示に従ってバス使用要求信号BR−1の送出を停止する機能を有する。
【0017】
バス使用要求幅信号生成手段23は、バスマスタ2−1内でバスの使用要求が発生した場合、使用するバス幅が何バイトであるのかをバス使用要求幅信号送出手段24に指示する機能を有し、バス使用要求幅信号送出手段24は、上記指示に従ってバス使用要求幅信号W1−1〜W4−1の内の何れか1つを送出する機能を有する。尚、本実施例に於いては、バス使用要求幅信号送出手段24は、使用するバイト幅として1バイト,2バイト,3バイト,4バイトが指示された場合、それぞれバス使用要求幅信号W1−1,W2−1,W3−1,W4−1を送出する。また、バス使用要求幅信号生成手段23は、バスマスタ2−1がバス100を解放する場合、バス使用要求幅信号送出手段24に対してバス使用要求幅信号W1−1〜W4−1の出力停止を指示する機能を有し、バス使用要求幅信号送出手段24は、上記指示に従ってバス使用要求幅信号W1−1〜W4−1の出力を停止する機能を有する。
【0018】
バス使用許可信号受信手段25は、バスアービタ1から出力されるバス使用許可信号BG−1を受信すると、使用許可位置解読手段27に対して解読開始を指示する機能を有する。バス使用許可位置信号受信手段26は、バスアービタ1からのバス使用許可位置信号P0−1〜P3−1を受信する機能を有する。バス使用許可位置解読手段27は、バス使用許可信号受信手段25により解読開始が指示されると、バス使用許可位置信号受信手段26の受信結果に基づいて、使用許可された単位バス(使用権の与えられた単位バス)を認識する機能を有する。データ転送実行手段28は、バス使用許可位置解読手段27が認識した単位バスを使用してデータを転送する機能を有する。また、データ転送実行手段28と、データの転送先になるバススレーブ3−1,3−2との間には、使用するバス単位を通知するための専用の信号線281a,281bが設けられている。
【0019】
ここでは、バスマスタ2−1の構成,機能のみを説明したが、他のバスマスタ2−2〜2−4も同様の構成,機能を有している。
【0020】
バスアービタ1は、バス使用要求信号受信手段11と、使用単位バス数解読手段12と、バス使用許可手段13と、要求保留部14と、バス使用状況管理手段15と、バス使用許可位置信号送出手段16と、バス使用許可信号送出手段17とから構成されている。
【0021】
バス使用状況管理手段15は、その内部に設けられているバス使用状況管理テーブル151を用いて、バス100を構成する各単位バスの使用状況を管理する。図2は、バス使用状況管理テーブル151の内容例を示す図であり、この例は、第0,第1バイト目の単位バスがバスマスタ2−1によって使用され、第2バイト目の単位バスがバスマスタ2−3によって使用され、第3バイト目の単位バスが未使用であることを示している。また、バス使用状況管理テーブル151の更新は、各バスマスタ2−1〜2−4から送られてくるバス使用要求信号BR1〜BR4,各バスマスタ2−1〜2−4へのバス使用許可信号BG−1〜BG−4及び各バスマスタ2−1〜2−4へのバス使用許可位置信号P0−1〜P3−4に基づいて行い、使用状況を未使用にする更新を行った場合は、バス使用許可手段13に対して単位バスが解放されたこと(バスを解放したバスマスタが発生したこと)を通知する。
【0022】
バス使用要求信号受信手段11は、バスの使用権を要求するバスマスタ2−iからのバス使用要求信号BR−iを受信した場合、使用単位バス数解読手段12に要求元のバスマスタ2−iの識別子を渡す機能を有する。
【0023】
使用単位バス数解読手段12は、バス使用要求信号受信手段11から要求元のバスマスタ2−iの識別子が渡された場合、バスマスタ2−iからのバス使用要求幅信号W1−i〜W4−iに基づいて、バスマスタ2−iが使用要求している単位バスの数nを求め、その数nとバスマスタ2−iの識別子とをバス使用許可手段13に渡す機能を有する。
【0024】
バス使用許可手段13は、下記(a)〜(e)の機能を有する。
【0025】
(a)使用単位バス数解読手段12から要求元のバスマスタ2−iの識別子と、バスマスタ2−iが使用要求している単位バスの数nとが渡されたとき、バス使用状況管理テーブル151の内容に基づいて、使用要求されている単位バス数n以上の未使用の単位バスが存在するか否かを判定する機能。
(b)機能(a)によってn個以上の未使用の単位バスが存在すると判定された場合、バス使用許可信号送出手段17に対してバス使用許可信号BG−iの送出を指示する機能。
(c)機能(a)によってn個以上の未使用の単位バスが存在すると判定された場合、未使用の単位バスの中からn個の単位バスを選択し、バス使用許可位置信号送出手段16に対してバス使用許可位置信号P0−i〜P3−iの内の、上記選択した単位バスに対応する信号の送出を指示する機能。例えば、第0バイト目の単位バスのみを選択した場合には、バス使用許可位置信号P0−iの送出を指示し、第2バイト目,第3バイト目の単位バスを選択した場合には、バス使用許可位置信号P2−i,P3−iの送出を指示する。
(d)機能(a)によってn個以上の未使用の単位バスが存在しないと判定された場合は、使用単位バス数解読手段12から渡された要求元のバスマスタ2−iの識別子と使用要求された単位バスの数nとを含むバス使用要求を要求保留部14に格納する機能。
(e)バス使用状況管理手段15から単位バスの解放が通知された場合、要求保留部14に格納されている保留順が古いバス使用要求から順番に、そのバス使用要求が使用要求する単位バス数以上の未使用の単位バスが存在すれば、未使用の単位バスの中から上記使用要求された数の単位バスを選択し、選択した単位バスの使用権を要求元のバスマスタに与える処理を行う機能。
【0026】
バス使用許可位置信号送出手段16は、バス使用許可手段13からの指示に従ってバス使用許可位置信号P0−i〜P3−iを送出する機能を有する。
【0027】
バス使用許可信号送出手段17は、バス使用許可手段13からの指示に従ってバス使用許可信号BG−iを送出する機能を有する。
【0028】
【実施例の動作】
次に、本実施例の動作について詳細に説明する。
【0029】
バスマスタ2−1内にバス使用要求が発生すると、バス使用要求信号生成手段21がバス使用要求信号送出手段22に対してバス使用要求信号BR−1の送出を指示すると共に、バス使用要求幅信号生成手段23が、使用するバス幅が何バイトであるのかをバス使用要求幅信号送出手段24に指示する(図3,A1,A3)。これにより、バス使用要求信号送出手段22が、バスアービタ1に対してバス使用要求信号BR−1を出力すると共に、バス使用要求幅信号送出手段24が、バス使用要求幅信号W1−1〜W4−1の内の、使用要求するバス幅に対応する信号を出力する(A2,A3)。今、例えば、使用要求するバス幅が2バイトであるとすると、バス使用要求幅信号送出手段24は、バス使用要求幅信号W2−1を出力することになる。
【0030】
バスアービタ1内のバス使用要求信号受信手段11は、バスマスタ2−1からのバス使用要求信号BR−1を受信すると、使用単位バス数解読手段12に要求元のバスマスタ2−1の識別子を渡す(図4,B1)。
【0031】
これにより、使用単位バス数解読手段12は、バスマスタ2−1からのバス使用要求幅信号W1−1〜W4−1に基づいて、バスマスタ2−1が使用要求している単位バス数を求め、この単位バス数と、バスマスタ2−1の識別子とをバス使用許可手段13に渡す(B2)。この例の場合、バス使用要求幅信号W2−1のみが出力されているので、使用単位バス数解読手段12は、単位バス数「2」とバスマスタ2−1の識別子とをバス使用許可手段13に渡すことになる。
【0032】
バス使用許可手段13は、単位バス数「2」が渡されると、バス使用状況管理テーブル151を参照し、使用要求された単位バス数「2」以上の未使用の単位バスが存在するか否かを判定する(B3)。
【0033】
そして、使用要求された単位バス数「2」以上の未使用の単位バスが存在しない場合(B3がNO)は、使用単位バス数解読手段12から渡された要求元のバスマスタ2−1の識別子と使用要求された単位バス数「2」とを含むバス使用要求を要求保留部14に格納する(B7)。
【0034】
これに対して、使用要求された単位バス数「2」以上の未使用の単位バスが存在する場合(B3がYES)は、バス使用許可信号送出手段17に対して、要求元のバスマスタ2−1へバス使用許可信号BG−1を送出することを指示する(B4)。更に、ステップB4に於いては、未使用の単位バスの中から、使用要求された単位バス数「2」の単位バスを選択し、バス使用許可位置信号送出手段16に対して、バス使用許可位置信号P0−1〜P3−1の内の、上記選択した単位バスに対応する信号の送出を指示する。未使用の単位バスの中から、使用要求された数の単位バスを選択する場合には、例えば、下位バイトの単位バスを優先的に選択する。今、例えば、第0バイト目の単位バスが使用中で、第1バイト目〜第3バイト目の単位バスが未使用であるとすると、バス使用許可手段13は、第1バイト目,第2バイト目の単位バスを選択し、バス使用許可位置信号送出手段16に対して、バス使用許可位置信号P1−1,P2−1の送出を指示することになる。
【0035】
これにより、バス使用許可信号送出手段17は、バス使用許可信号BG−1を送出し、バス使用許可位置信号送出手段16は、バス使用許可位置信号P1−1,P2−1を送出する(B5)。
【0036】
バス使用状況管理手段15は、バス使用許可信号BG−1,バス使用許可位置信号P1−1,P2−1 が送出されると、バス使用状況管理テーブル151に登録されている各単位バスの使用状況の内の、第1バイト目,第2バイト目の単位バスの使用状況を「未使用」から「バスマスタ2−1が使用中」に更新する(B6)。
【0037】
バスアービタ1から送出されたバス使用許可信号BG−1及びバス使用許可位置信号P1−1,P2−1は、それぞれバスマスタ2−1内のバス使用許可信号受信手段25及びバス使用許可位置信号受信手段26で受信され、バス使用許可信号受信手段25は、バス使用許可信号BG−1を受信すると、バス使用許可位置解読手段27に解読開始を指示する(図3,A5)。
【0038】
これにより、バス使用許可位置解読手段27は、バス使用許可位置信号受信手段26の受信結果に基づいて、使用権が与えられた単位バスを求め、その単位バスをデータ転送実行手段28に通知する(A6)。この例の場合、バス使用許可位置信号受信手段26ではバス使用許可位置信号P1−1,P2−1を受信しているので、バス使用許可位置解読手段27は、データ転送実行手段28に第1バイト目,第2バイト目の単位バスの使用権が与えられたことを通知する。
【0039】
データ転送実行手段28は、使用権の与えられた単位バス(第1,第2バイト目の単位バス)が通知されると、データの転送先(例えば、バススレーブ3−1)に、データの転送に使用する単位バスを信号線281aを介して通知した後、第1バイト,第2バイト目の単位バスを使用してデータ転送を行う(A7)。
【0040】
図5はデータ転送実行手段28の構成例を示すブロック図であり、バス使用位置通知部281と、転送データが格納される4バイト構成のレジスタ282と、データ転送部283とが設けられている。尚、レジスタ282には、nバイト構成のデータを転送する場合、その第0バイト〜第(n−1)バイトに転送データが格納される。
【0041】
バス使用位置通知部281は、バス使用許可位置解読手段27から使用権の与えられた単位バス(第1バイト目,第2バイト目の単位バス)が通知されると、データ転送先(例えばバススレーブ3−1)に、信号線281aを介してデータ転送に使用する単位バス(第1バイト目,第2バイト目の単位バス)を通知し、その後、データ転送部283にデータ転送開始を指示する。これにより、データ転送部283は、レジスタ282の第0バイト〜第(n−1)バイトに格納されている転送データを、それぞれ(使用権が与えられた最も下位側の単位バス)〜(使用権が与えられた最も上位側の単位バス)に出力する。従って、この例の場合、データ転送部283は、レジスタ282の第0バイト,第1バイトに格納されているデータを、それぞれ第1バイト目,第2バイト目の単位バスに出力することになる。
【0042】
図6はバススレーブ3−1の構成例を示すブロック図であり、データ受信部31と、受信データが格納されるレジスタ32とを備えている。
【0043】
データ受信部31は、データ転送実行手段28から信号線281aを介して、第1バイト目,第2バイト目の単位バスを使用してデータ転送を行うことが通知されると、第1バイト目,第2バイト目の単位バス上のデータを受信し、それらをそれぞれレジスタ32の第バイト0,第1バイト目に格納する。
【0044】
次に、バス解放時の動作について説明する。
【0045】
今、例えば、第1バイト目,第2バイト目の単位バスを使用してデータ転送を行っていたバスマスタ2−1がデータ転送を完了したとすると、バスマスタ2−1内のバス使用要求信号生成手段21が、バス使用要求信号送出手段22に対してバス使用要求信号BR−1の送出停止を指示し、バス使用要求幅信号生成手段23が、バス使用要求幅信号送出手段24に対してバス使用要求幅信号W2−1の送出停止を指示する。これにより、バス使用要求信号送出手段22,バス使用要求幅信号送出手段24が、バス使用要求信号BR−1,バス使用要求幅信号W2−1の送出を停止する。
【0046】
バスアービタ1内のバス使用状況管理手段15は、バスマスタ2−1からバス使用要求信号BR−1が送出されなくなると、バス使用状況管理テーブル151に登録されている各単位バスの使用状況の内、「バスマスタ2−1が使用中」となっている第1,第2バイト目の単位バスの使用状況を「未使用」に更新する(図7,C1)。
【0047】
次に、バス使用状況管理手段15は、バス使用許可信号送出手段17に対して、バスマスタ2−1へのバス使用許可信号BG−1の送出停止を指示する(C2)。これにより、バス使用許可信号送出手段17は、バス使用許可信号BG−1の送出を停止する。
【0048】
その後、バス使用状況管理手段15は、バス使用許可手段13に対して、単位バスが解放されたことを通知する(C3)。
【0049】
これにより、バス使用許可手段13は、要求保留部14に格納されている未注目のバス使用要求の内の、最も格納順が古いバス使用要求に注目する(C4)。尚、バス使用要求には、前述したように要求元のバスマスタ2−iの識別子と、使用要求されている単位バスの数とが含まれている。
【0050】
その後、バス使用許可手段13は、現在注目中のバス使用要求が使用要求している単位バス数以上の単位バスが未使用であるか否かを、バス使用状況管理テーブル151の内容に基づいて判断する(C6)。
【0051】
そして、使用要求されている単位バス数以上の、未使用の単位バスが存在しないと判断した場合(C6がNO)は、ステップC4の処理に戻る。
【0052】
これに対して、使用要求されている単位バス数以上の、未使用の単位バスが存在すると判断した場合(C6がYES)は、バス使用許可信号送出手段17に対して、注目中のバス使用要求の要求元バスマスタ2−iへバス使用要求信号BG−iを送出することを指示する(C7)。更に、ステップC7に於いては、未使用の単位バスの中から、注目中の使用要求が使用要求している数の単位バスを選択し、バス使用許可位置信号送出手段16に対して、要求元バスマスタ2−iへのバス使用許可位置信号P0−i〜P3−iの内の、上記選択した単位バスに対応する信号の送出を指示する。今、例えば、使用要求されている単位バス数が「1」で、未使用の単位バスの内の、第2バイト目の単位バスを選択したとすると、バス使用許可位置信号P2−iの送出を指示することになる。
【0053】
これにより、バス使用許可信号送出手段17は、バス使用許可信号BG−iを出力し、バス使用許可位置信号送出手段16は、バス使用許可位置信号P2−iを出力する(C8)。その後、バス使用許可手段13は、現在注目しているバス使用要求を要求保留部14から削除する(C9)。
【0054】
また、バス使用状況管理手段15は、バス使用許可信号BG−i及びバス使用許可位置信号P2−iが出力されると、バス使用状況管理テーブル151に登録されている第2バイト目の単位バスに対する使用状況を「未使用」から「バスマスタ2−iが使用中」に更新する(C10)。その後、再びステップC4の処理が行われる。
【0055】
以上の処理が繰り返し行われ、要求保留部14に未注目のバス使用要求がなくなると(C5がNO)、処理終了となる。尚、バス使用状況管理手段15から単位バスの解放が通知された時点に於いて、要求保留部14にバス使用要求が格納されていない場合も、ステップC5の判断結果がNOとなり処理終了となる。
【0056】
次に、具体例を挙げて本実施例の動作について説明する。
【0057】
今、例えば、バス100を構成する第0バイト目〜第3バイト目の4個の単位バスが全く使用されていない状態に於いて、図8のタイミングチャートに示すように、バスマスタ2−1が、時刻t1に於いてバス使用要求信号BR−1,バス使用要求幅信号W1−1(1個の単位バスを要求する信号)を送出し、バスマスタ2−2が、時刻t4に於いてバス使用要求信号BR−2,バス使用要求幅信号W1−2(1個の単位バスを要求する信号)を送出し、バスマスタ2−3が、時刻t7に於いてバス使用要求信号BR−3,バス使用要求幅信号W1−3(1個の単位バスを要求する信号)を送出し、バスマスタ2−4が、時刻t10に於いてバス使用要求信号BR−4,バス使用要求幅信号W1−4(1個の単位バスを要求する信号)を送出したとする。
【0058】
バスアービタ1は、バスマスタ2−1から1個の単位バスを要求するバス使用要求信号BR−1,バス使用要求幅信号W1−1が加えられた時刻t1に於いては、未使用の単位バス数が「4」であるので、時刻t2に於いて、バス使用許可信号BG−1を送出すると共に、第0バイト目の単位バスを示すバス使用許可位置信号P0−1を送出する。また、バスマスタ2−2から1個の単位バスを要求するバス使用要求信号BR−2,バス使用要求幅信号W1−2が加えられた時刻t4、バスマスタ2−3から1個の単位バスを要求するバス使用要求信号BR−3,バス使用要求幅信号W1−3が加えられた時刻t7、及びバスマスタ2−4から1個の単位バスを要求するバス使用要求信号BR−4,バス使用要求幅信号W1−4が加えられた時刻t10に於いては、未使用の単位バス数がそれぞれ「3」,「2」,「1」であるので、時刻t5に於いてバス使用許可信号BG−2,バス使用許可位置信号P1−2を送出し、時刻t8に於いてバス使用許可信号BG−3,バス使用許可位置信号P2−3を送出し、時刻t11に於いてバス使用許可信号BG−4,バス使用許可位置信号P3−4を送出する。以上の処理により、バスマスタ2−1,2−2,2−3,2−4に、それぞれ第0バイト目,第1バイト目,第2バイト目,第3バイト目の単位バスの使用権が与えられ、4台のバスマスタ2−1〜2−4が同時にバス100を使用することが可能になる。
【0059】
また、例えば、バス100を構成する4個の単位バスが全て未使用である時に、図9のタイミングチャートに示すように、バスマスタ2−1が時刻t1に於いてバス使用要求信号BR−1,バス使用要求幅信号W1−1(1個の単位バスを要求する信号)を送出し、バスマスタ2−2が時刻t4に於いてバス使用要求信号BR−2,バス使用要求幅信号W2−2(2個の単位バスを要求する信号)を送出し、バスマスタ2−3が時刻t7に於いてバス使用要求信号BR−3,バス使用要求幅信号W1−3(1個の単位バスを要求する信号)を送出し、バスマスタ2−4が時刻t9に於いてバス使用要求信号BR−4,バス使用要求幅信号W2−4(2個の単位バスを要求する信号)を送出したとする。
【0060】
バスアービタ1は、バスマスタ2−1から1個の単位バスを要求するバス使用要求信号BR−1,バス使用要求幅信号W1−1が加えられた時刻t1、バスマスタ2−2から2個の単位バスを要求するバス使用要求信号BR−2,バス使用要求幅信号W2−2が加えられた時刻t4及びバスマスタ2−3から1個の単位バスを要求するバス使用要求信号BR−3,バス使用要求幅信号W1−3が加えられた時刻t7に於いては、未使用の単位バス数がそれぞれ「4」,「3」,「1」であるので、時刻t2に於いてバス使用許可信号BG−1,バス使用許可位置信号P0−1を出力し、時刻t5に於いてバス使用許可信号BG−2,バス使用許可位置信号P1−2,P2−2を出力し、時刻t8に於いてバス使用許可信号BG−3,バス使用許可位置信号P3−3を出力する。以上の処理により、バスマスタ2−1に第0バイト目の単位バスの使用権が、バスマスタ2−2に第1バイト目,第2バイト目の単位バスの使用権が、バスマスタ2−3に第3バイト目の単位バスの使用権が与えられる。
【0061】
しかし、バスマスタ2−4から2個の単位バスを要求するバス使用要求信号BR−4,バス使用要求幅信号W2−4が加えられた時刻t9に於いては、未使用の単位バス数が「0」であるので、その要求は保留状態にされる。その後、時刻t10に於いてバスマスタ2−1が第0バイト目の単位バスを解放するが、未使用の単位バス数は「1」にしかならず、使用要求されている単位バス数「2」より少ないので、上記要求は保留状態のままとなる。その後、時刻t13に於いて、バスマスタ2−2が第1バイト目,第2バイト目の単位バスを解放すると、未使用の単位バス数が「3」となり、使用要求されている単位バス数「2」以上となるので、バスアービタ1は、時刻t14に於いて、バスマスタ2−4に対してバス使用許可信号BG−4を送出すると共に、バス使用許可位置信号P0−4,P1−4を送出する。これにより、バスマスタ2−4に、第0バイト目,第1バイト目の単位バスの使用権が与えられる。
【0062】
また、例えば、バス100を構成する4個の単位バスが全て未使用である時に、図10のタイミングチャートに示すように、バスマスタ2−1が時刻t1に於いてバス使用要求信号BR−1,バス使用要求幅信号W3−1(3個の単位バスを要求する信号)を送出し、バスマスタ2−2が時刻t4に於いてバス使用要求信号BR−2,バス使用要求幅信号W2−2(2個の単位バスを要求する信号)を送出し、バスマスタ2−3が時刻t7に於いてバス使用要求信号BR−3,バス使用要求幅信号W1−3(1個の単位バスを要求する信号)を送出したとする。
【0063】
バスアービタ1は、バスマスタ2−1から3個の単位バスを要求するバス使用要求信号BR−1,バス使用要求幅信号W3−1が加えられた時刻t1に於いては、未使用の単位バス数が「4」であるので、時刻t2に於いて、要求元のバスマスタ2−1に対してバス使用許可信号BG−1を出力すると共に、バス使用許可位置信号P0−1,P1−1,P2−1を送出する。これにより、バスマスタ2−1に、第0〜第2バイト目の単位バスの使用権が与えられる。
【0064】
その後、時刻t4に於いて、バスマスタ2−2から2個の単位バスを要求するバス使用要求信号BR−2,バス使用要求幅信号W2−2が加えられるが、この時点に於ける未使用の単位バス数は「1」であり、要求されている単位バス数「2」よりも少ないので、この要求は保留状態にされる。
【0065】
その後、時刻t7に於いて、バスマスタ2−3から1個の単位バスを要求するバス使用要求信号BR−3,バス使用要求幅信号W1−3が加えられると、バスアービタ1は、未使用の単位バス数「1」と要求されている単位バス数「1」とが等しいので、時刻t8に於いて、バスマスタ2−3に対してバス使用許可信号BG−3を送出すると共に、バス使用許可位置信号P3−3を送出する。これにより、バスマスタ2−3に第3バイト目の単位バスの使用権が与えられる。
【0066】
その後、時刻t13に於いて、バスマスタ2−1が第0バイト目,第1バイト目,第2バイト目の単位バスを解放すると、未使用の単位バス数が「3」となるので、バスアービタ1は、時刻t14に於いて、要求が保留されているバスマスタ2−2に対して、バス使用許可信号BG−2を送出すると共に、バス使用許可位置信号P0−2,P1−2を送出する。これにより、バスマスタ2−2には、第0バイト目,第1バイト目の単位バスの使用権が与えられる。
【0067】
【発明の効果】
以上説明したように、本発明は、先行するバス使用要求が保留状態になっても、後続のバス使用要求が必要とする単位バス以上の単位バスが未使用であれば、後続のバス使用要求の要求元バスマスタにバス使用権を与えるようにしているので、バスマスタが待機状態になる回数を減らし、システム性能を高めることができる。
【図面の簡単な説明】
【図1】本発明の実施例のブロック図である。
【図2】バス使用状況管理テーブル151の内容例を示す図である。
【図3】バスマスタ2−1〜2−4の処理例を示す流れ図である。
【図4】バス使用要求が発生した時のバスアービタ1の処理例を示す流れ図である。
【図5】データ転送実行手段28の構成例を示すブロック図である。
【図6】バススレーブ3−1の構成例を示すブロック図である。
【図7】バス解放時のバスアービタ1の処理例を示す流れ図である。
【図8】実施例の動作を説明するためのタイミングチャートである。
【図9】実施例の動作を説明するためのタイミングチャートである。
【図10】実施例の動作を説明するためのタイミングチャートである。
【符号の説明】
1…バスアービタ
11…バス使用要求信号受信手段
12…使用単位バス数解読手段
13…バス使用許可手段
14…要求保留部
15…バス使用状況管理手段
151…バス使用状況管理テーブル
16…バス使用許可位置信号送出手段
17…バス使用許可信号送出手段
2−1〜2−4…バスマスタ
20…バス使用要求手段
21…バス使用要求信号生成手段
22…バス使用要求信号送出手段
23…バス使用要求幅信号生成手段
24…バス使用要求幅信号送出手段
25…バス使用許可信号受信手段
26…バス使用許可位置信号受信手段
27…バス使用許可位置解読手段
28…データ転送実行手段
281…バス使用位置通知部
281a,281b…信号線
282…レジスタ
283…データ転送部
3−1,3−2…バススレーブ
31…データ受信部
32…レジスタ
100…バス
Claims (4)
- 複数の単位バスに分割されたバスと、該バスに接続された複数のバスマスタと、該複数のバスマスタからのバス使用要求を調停するバスアービタとを有する情報処理装置に於けるバス調停方法であって、
前記バスマスタは、
前記バスの使用要求時、使用要求する単位バスの数に関連する情報を含むバス使用要求を前記バスアービタに対して出力し、
前記バスアービタは、
前記バスマスタからバス使用要求が送られてきた時、古い保留状態のバス使用要求の有無に関わらず、前記バスマスタからのバス使用要求によって使用要求された数以上の単位バスが未使用である場合は、未使用の単位バスの中から前記使用要求された数の単位バスを選択して該選択した単位バスの使用権を要求元のバスマスタに与え、そうでない場合は、前記バス使用要求を保留状態にし、
複数の保留状態のバス使用要求がある場合に、バスを解放するバスマスタが発生した時、保留順が古い保留状態のバス使用要求から順番に、そのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から前記使用要求された数の単位バスを選択し、該選択した単位バスの使用権を要求元のバスマスタに与えるという処理を行うことを特徴とするバス調停方法。 - 請求項1記載のバス調停方法に於いて、
前記バスマスタは、前記バスアービタによって使用権が与えられた単位バスを使用してデータを転送する際、そのデータの転送先に対してデータの転送に使用する単位バスを通知してからデータの転送を開始し、
前記転送先は、前記バスマスタから通知された単位バス上のデータを受信することを特徴とするバス調停方法。 - 複数の単位バスに分割されたバスと、該バスに接続された複数のバスマスタと、該複数のバスマスタからのバス使用要求を調停するバスアービタとを備えた情報処理装置であって、
前記各バスマスタが、
前記バスの使用要求時、使用要求する単位バスの数に関連する情報を含むバス使用要求を前記バスアービタに対して出力するバス使用要求手段を備え、
前記バスアービタが、
前記バスマスタからバス使用要求が送られてきた時、古い保留状態のバス使用要求の有無に関わらず、前記バスマスタからのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から前記使用要求された数の単位バスを選択して該選択した単位バスの使用権を要求元のバスマスタに与え、そうでなければ、前記バス使用要求を保留状態にし、複数の保留状態のバス使用要求がある場合に、バスを解放するバスマスタが発生した時、保留順の古いバス使用要求から順番に、そのバス使用要求によって使用要求された数以上の単位バスが未使用であれば、未使用の単位バスの中から、前記使用要求された数の単位バスを選択し、該選択した単位バスの使用権を要求元のバスマスタに与えるという処理を行うバス使用許可手段を備えたことを特徴とする情報処理装置。 - 請求項3記載の情報処理装置に於いて、
前記バスマスタが、
前記バスアービタによって使用権が与えられた単位バスを使用してデータを転送する際、そのデータの転送先に対してデータの転送に使用する単位バスを通知してからデータ転送を開始するデータ転送実行手段を備え、
前記データの転送先は、前記データ転送実行手段によって通知された単位バス上のデータを受信する構成を有することを特徴とする情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000277730A JP3598958B2 (ja) | 2000-09-13 | 2000-09-13 | バス調停方法及び情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000277730A JP3598958B2 (ja) | 2000-09-13 | 2000-09-13 | バス調停方法及び情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002091902A JP2002091902A (ja) | 2002-03-29 |
JP3598958B2 true JP3598958B2 (ja) | 2004-12-08 |
Family
ID=18763006
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000277730A Expired - Lifetime JP3598958B2 (ja) | 2000-09-13 | 2000-09-13 | バス調停方法及び情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3598958B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101089324B1 (ko) * | 2004-02-20 | 2011-12-02 | 삼성전자주식회사 | 복수의 마스터들을 포함하는 서브 시스템을 개방형 코어프로토콜을 기반으로 하는 버스에 연결하기 위한 버스시스템 |
JP4322173B2 (ja) | 2004-06-17 | 2009-08-26 | 富士通株式会社 | データ転送方法及びシステム、入出力要求装置、並びに、データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 |
CN101263465B (zh) * | 2005-09-14 | 2011-11-09 | 皇家飞利浦电子股份有限公司 | 用于总线仲裁的方法和系统 |
-
2000
- 2000-09-13 JP JP2000277730A patent/JP3598958B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002091902A (ja) | 2002-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR19980032244A (ko) | 디엠에이 채널의 사이즈 데이터를 수신하는 디엠에이 제어회로 | |
GB2365596A (en) | Transfer acknowledgement in a bus system | |
GB2365288A (en) | Bus arbitration system | |
JPH103447A (ja) | バスブリッジ装置 | |
US8185679B2 (en) | Controlling bus access | |
JP3598958B2 (ja) | バス調停方法及び情報処理装置 | |
US5442631A (en) | Communication control device | |
JP2908147B2 (ja) | バス制御装置及び方法 | |
JPH09269927A (ja) | バスアクセス方法、バス、並びにバス接続システム | |
JP2002342295A (ja) | マルチプロセッサシステム | |
JP2699873B2 (ja) | バス制御回路 | |
JPH07210320A (ja) | ファイル装置用多重化インタフェース及びその制御方法 | |
JPH09204311A (ja) | 情報処理システム | |
JP3317150B2 (ja) | 情報処理装置 | |
JP3667504B2 (ja) | 調停回路 | |
JP2632049B2 (ja) | マルチプロセッサシステム | |
JPH02161551A (ja) | データ転送制御方式 | |
JPH04322353A (ja) | バス・システム | |
JPH03262234A (ja) | パケット交換装置の転送制御方式 | |
JPH05134980A (ja) | バスシステム | |
JPH04178869A (ja) | マルチプロセッサシステムの割込み制御装置とその割込み通信方法 | |
JPH06161951A (ja) | バス制御方式 | |
JP2000276440A (ja) | 調停回路および方法 | |
JPH08149148A (ja) | ループ状シリアル通信手順及びループ状シリアル通信網 | |
JPH077954B2 (ja) | 制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040210 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040423 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040601 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040730 |
|
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: 20040824 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040906 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080924 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090924 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100924 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110924 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120924 Year of fee payment: 8 |