JPH05324541A - バスインターフェース装置 - Google Patents

バスインターフェース装置

Info

Publication number
JPH05324541A
JPH05324541A JP12311592A JP12311592A JPH05324541A JP H05324541 A JPH05324541 A JP H05324541A JP 12311592 A JP12311592 A JP 12311592A JP 12311592 A JP12311592 A JP 12311592A JP H05324541 A JPH05324541 A JP H05324541A
Authority
JP
Japan
Prior art keywords
processor
data
shared device
shared
processors
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP12311592A
Other languages
English (en)
Inventor
Kazunori Takahashi
一徳 高橋
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP12311592A priority Critical patent/JPH05324541A/ja
Publication of JPH05324541A publication Critical patent/JPH05324541A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【目的】 複数のプロセッサと接続された共有装置を、
任意の一つのプロセッサが占有して使用することのでき
るバスインターフェース装置を提供することを目的とす
る。 【構成】 プロセッサ4Aとプロセッサ4Bとが共有装
置1を共通して使用する。プロセッサ4Aまたは4Bか
らの共有装置1へのアクセス要求に対して、バス制御装
置3はバッファ2A及びバッファ2Bを制御し、どちら
か一方のプロセッサが共有装置1に対してデータの書き
込みや読み出し等を行うことができるようにする。プロ
セッサ4Aは共有装置1を独占して使用したいときに、
識別レジスタ11に自己を示す識別子を書き込む。バス
制御装置3はプロセッサ4Aの識別子が書き込まれてい
る間は、プロセッサ4Bから共有装置1に対するアクセ
スを制限する。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は複数のプロセッサが共有
資源をアクセスする場合のバス制御を実行するバスイン
ターフェース装置に関するものである。
【0002】
【従来の技術】図7は従来のバスインターフェース装置
の構成図を示すものであり、2個のプロセッサが接続さ
れているものである。図7において、1は複数のプロセ
ッサが共有して使用する共有装置、4Aは共有装置1を
使用するプロセッサ、4Bは共有装置1を使用するもう
一つのプロセッサ、6Aはプロセッサ4Aのデータを転
送するデータバス、6Bはプロセッサ4Bのデータを転
送するデータバス、5は共有装置1のデータを転送する
共有バス、2Aはデータバス6A上のデータと共有バス
5上のデータの入出力を行う双方向のバッファ、2Bは
データバス6B上のデータと共有バス5上のデータの入
出力を行なう双方向のバッファ、3はプロセッサ4A及
びプロセッサ4Bとバス制御信号の授受を行い、バッフ
ァ2A及びバッファ2Bを制御するバス制御装置、7A
はプロセッサ4Aとバス制御装置3との間のバス制御信
号、7Bはプロセッサ4Bとバス制御装置3との間のバ
ス制御信号である。以下、図7に従ってその動作を説明
する。
【0003】図7に示す共有装置1は例えばメモリ装置
等であり、バス制御装置3の制御に従ってデータのリー
ド/ライトができるものである。
【0004】まず、プロセッサ4Aまたはプロセッサ4
Bが単独で共有装置をアクセスした場合の動作について
説明する。(表1)はこの場合の動作をまとめたもので
あり、R/Wはリード/ライト、フロートはデータバス
6A及びデータバス6Bと共有バス5が未接続であるこ
とを示す。
【0005】
【表1】
【0006】共有装置1に対するアクセス要求及びリー
ド/ライトに関する情報は、バス制御信号7A及びバス
制御信号7Bとしてバス制御装置3に通知される。これ
らの情報からバス制御装置3は(表1)に示すようにバ
ッファA及びバッファBを制御して、共有装置1へのリ
ード/ライトを実行する。
【0007】次にプロセッサ4A及びプロセッサ4Bか
ら共有装置1へのアクセスが競合した場合の動作につい
て説明する。(表2)にアクセス競合時の各プロセッサ
に対する応答信号の内容を示す。同時にアクセス要求が
あった場合には、例えばプロセッサAが優先されること
になっている。(表2)において、要求信号タイミング
はプロセッサ4A及びプロセッサ4Bからバス制御装置
3へのアクセス要求信号の通知タイミングを示し、正常
終了はリード/ライト動作が正常に実行できたことを示
し、異常終了はリード/ライト動作が実行できなかった
ことを示す。異常終了の場合にはバスエラー信号または
バスリトライ信号を応答することになる。リード/ライ
ト時のバッファの動作は(表1)に示すものと同様であ
る。
【0008】
【表2】
【0009】以上説明したようにして複数のプロセッサ
から共有装置1をアクセスする。
【0010】
【発明が解決しようとする課題】しかしながら上記従来
のバスインターフェース装置においては、複数のプロセ
ッサの任意の一つが共有装置をアクセスする場合、他の
プロセッサが共有装置を使用していない限りは、それぞ
れのプロセッサからのアクセス要求に応じて随時共有装
置を使用することができる。このためある一つのプロセ
ッサが一定期間共有装置を占有して使用したい場合には
不都合となる。
【0011】また上記従来の装置では、共有装置に接続
されるプロセッサはデータバス幅が互いに等しいものに
限られており、データバス幅の異なるプロセッサを一緒
に使用することができなかった。
【0012】さらに共有装置をメモリ装置に換えて例え
ば数値演算等を実行する演算実行装置として利用した場
合に、共有装置1における演算が完了するまでにプロセ
ッサから演算結果の読み出しを行うと、正しい演算結果
が得られないことがあった。
【0013】そこで本発明は上記問題点を解決するた
め、複数のプロセッサのうち共有装置を占有して使用し
たいプロセッサを示すデータを保持するレジスタを設
け、それに基づきバス制御装置がバッファを制御するこ
とにより、任意のプロセッサが共有装置を占有すること
ができるインターフェース装置を提供することを目的と
する。
【0014】また共有装置のデータバス幅と異なるデー
タバス幅のプロセッサとの間にデータの並べ替えを行な
うデータアライナを設けることにより、互いにデータバ
ス幅の異なるプロセッサも一緒に共有装置を使用するこ
とができるバスインターフェース装置を提供することを
目的とする。
【0015】さらに共有装置を演算実行装置とした場合
に、その実行状態を示すフラグを設けることにより、プ
ロセッサの不当なデータのリード/ライトを回避するこ
とができるバスインターフェース装置を提供することを
目的とする。
【0016】
【課題を解決するための手段】上記課題を解決するため
本発明のバスインターフェース装置は、第1に、複数の
プロセッサと、前記複数のプロセッサにより共用される
共有装置と、前記プロセッサと前記共有装置との間でデ
ータの入出力を行うため、前記複数のプロセッサのそれ
ぞれに対応して設けられた複数のバッファと、前記複数
のプロセッサの任意の一つが前記共有装置を使用すると
き、そのプロセッサを示すデータを保持するレジスタ
と、前記任意の一つのプロセッサが前記共有装置を使用
しているときに、その共有装置を使用しているプロセッ
サ以外のプロセッサから共有装置へアクセスがある場合
に、前記レジスタにより示されるデータに基づきそのア
クセスを制限するよう前記バッファを制御するバス制御
装置とを備えている。
【0017】また第2に、データバス幅が互いに異なる
複数のプロセッサと、前記複数のプロセッサが共通して
使用する共有装置と、前記複数のプロセッサと前記共有
装置との間でデータの入出力を行うため接続され、前記
共有装置に対しては互いにデータバスを共用する複数の
バッファと、前記複数のプロセッサのうち前記共有装置
のデータバス幅よりも小さいデータバス幅のプロセッサ
と前記共有装置とのデータの入出力において、前記バッ
ファと共有装置との間で前記データの並べ替えを行うデ
ータアライナと、前記複数のプロセッサの共有装置への
アクセス要求に応じて前記バッファを制御するととも
に、前記プロセッサのデータバス幅に応じて前記バッフ
ァと共有装置との間でデータの並べ替えを行う前記デー
タアライナを制御するバス制御装置とを備えている。
【0018】また第3に、プロセッサと、前記プロセッ
サの要求に応じて演算を実行する演算実行装置と、前記
複数のプロセッサと演算実行装置との間でデータの入出
力を行うため接続されたバッファと、前記演算実行装置
の演算の実行状態を示すフラグと、前記プロセッサから
の演算実行装置へのアクセス要求に応じて前記バッファ
を制御するとともに、前記フラグが演算実行装置が実行
中であることを示す場合には、プロセッサから演算実行
装置へのアクセスを禁止するよう前記バッファを制御す
るバッファ制御装置とを備えている。
【0019】
【作用】上記第1の構成によれば、複数のプロセッサの
うちの任意の一つが共有装置をある期間独占して使用し
たいときには、そのプロセッサを示すデータをレジスタ
に保持しておき、そのデータに基づきバス制御装置が他
のプロセッサからの共有装置に対するアクセス要求を制
限することにより、ある期間一つのプロセッサがシステ
ム全体を制御することができるようになる。
【0020】また第2の構成により、複数のプロセッサ
のそれぞれに対応してレジスタを設け、それぞれのレジ
スタに各プロセッサのデータバス幅を保持しておき、各
プロセッサが共有装置をアクセスする時に、データアラ
イナにおいてこのバス幅に応じてデータを並び替えるこ
とで、データバス幅が異なるプロセッサを接続すること
ができる。
【0021】第3の構成により、共有装置が数値演算等
を実行する演算実行装置である場合に、共有装置が数値
演算の実行途中であることを示すフラグを設け、この実
行フラグが実行状態を示すときには、バス制御装置がプ
ロセッサからの演算結果等を求めるアクセスを禁止す
る。
【0022】
【実施例】以下本発明のバスインターフェース装置につ
いて、その実施例を示す図面を参照しながら説明する。
【0023】(実施例1)図1は本発明の第1の実施例
におけるバスインターフェース装置の構成図を示すもの
であり、2個のプロセッサが接続されているものであ
る。図1において、1は複数のプロセッサが共有して使
用する共有装置、4Aは共有装置1を使用するプロセッ
サ、4Bは共有装置1を使用するもう一つのプロセッ
サ、6Aはプロセッサ4Aのデータを転送するデータバ
ス、6Bはプロセッサ4Bのデータを転送するデータバ
ス、5は共有装置1のデータを転送する共有バス、2A
はデータバス6A上のデータと共有バス5上のデータの
入出力を行う双方向のバッファ、2Bはデータバス6B
上のデータと共有バス5上のデータの入出力を行なう双
方向のバッファ、11はプロセッサの識別子を保持する
識別レジスタ、3はプロセッサ4A及びプロセッサ4B
とバス制御信号の授受を行い、識別レジスタ11の内容
を入力してバッファ2A及びバッファ2Bの制御を行う
バス制御装置、7Aはプロセッサ4Aとバス制御装置3
との間のバス制御信号、7Bはプロセッサ4Bとバス制
御装置3との間のバス制御信号である。
【0024】以下、図1に従ってその動作を説明する。
本実施例のバスインターフェース装置は、識別レジスタ
11にプロセッサ4Aを示す識別子Aを書き込むこと
で、共有装置1を占有できるプロセッサをプロセッサ4
Aに限定し、それ以外のプロセッサ4Bは共有装置1に
対するアクセスはできないようにするものである。
【0025】すなわち、識別レジスタ11はデータバス
6Aとバス制御装置3との間に接続されており、プロセ
ッサ4Aのみが識別レジスタ11に自分の識別子を示す
データAの書き込みを行う。バス制御装置3は識別レジ
スタ11の内容に従ってバッファ2A及びバッファ2B
を制御し、プロセッサ4A及びプロセッサ4Bに対する
応答信号を出力する。
【0026】つまり識別レジスタ11に識別子Aが書き
込まれているときには、プロセッサ4Aのアクセスに対
しては正常終了を応答し、対応しないプロセッサ4Bへ
は異常終了を応答する。正常終了は共有装置1に対して
データのリード/ライトが正しく実行できたことを示
し、異常終了はデータのリード/ライトが実行できなか
ったことを示す。異常終了時はバス制御装置3はプロセ
ッサに対してバスエラー信号またはバスリトライ信号を
応答し、その後の処理はプロセッサに依存することにな
る。
【0027】このようにプロセッサA4Aがシステム全
体を制御しており、共有装置1の使用状態もプロセッサ
A4Aが把握している。このようにシステム全体を制御
するプロセッサが共有装置の使用を管理する場合には非
常に有効である。
【0028】また上記構成ではプロセッサAに対応させ
て識別レジスタ11を設けたが、データバス6Bとバス
制御装置3との間にプロセッサ4Bのみに対応させて識
別レジスタを設けて、プロセッサ4Bがシステム全体を
制御するよう構成することもできる。
【0029】(表3)には識別レジスタをそれぞれプロ
セッサ4A側とプロセッサ4B側に設けたときにおい
て、識別レジスタの内容及びプロセッサ4Aとプロセッ
サ4Bに対する応答信号の内容を示す。ここで、識別子
Aはプロセッサ4A、識別子Bはプロセッサ4Bを示
す。
【0030】
【表3】
【0031】(表3)に示すように識別子に対応するプ
ロセッサのアクセスに対しては正常終了を応答し、対応
しないプロセッサへは異常終了を応答する。
【0032】以上のように、本実施例によれば、システ
ム全体を制御するプロセッサに接続された識別レジスタ
の内容に従って共有装置のアクセスを制限することで、
システム全体を制御するプロセッサが共有装置の使用を
管理でき、その管理のもとで各プロセッサが共有装置を
占有して使用することができる。
【0033】なお、本実施例では2個のプロセッサにつ
いて説明してきたが、3個以上のプロセッサを接続した
場合もそれぞれのプロセッサに対応した識別子を設けて
識別レジスタに設定することで容易に実現できる。
【0034】(実施例2)図2は本発明の第2の実施例
におけるバスインターフェース装置の構成図を示すもの
であり、2個のプロセッサが接続されているものであ
る。図2において、1は複数のプロセッサが共有して使
用する共有装置、4Aは共有装置1を使用するプロセッ
サ、4Bは共有装置1を使用するもう一つのプロセッ
サ、6Aはプロセッサ4Aのデータを転送するデータバ
ス、6Bはプロセッサ4Bのデータを転送するデータバ
ス、5は共有装置1のデータを転送する共有バス、2A
はデータバス6A上のデータと共有バス5上のデータの
入出力を行う双方向のバッファ、2Bはデータバス6B
上のデータと共有バス5上のデータの入出力を行なう双
方向のバッファ、11はプロセッサの識別子を保持する
識別レジスタ、3はプロセッサ4A及びプロセッサ4B
とバス制御信号の授受を行い、識別レジスタ11の内容
を入力してバッファ2A及びバッファ2Bの制御を行う
バス制御装置、7Aはプロセッサ4Aとバス制御装置3
との間のバス制御信号、7Bはプロセッサ4Bとバス制
御装置3との間のバス制御信号である。
【0035】以下、図2に従ってその動作を説明する。
本実施例はプロセッサ4Aとプロセッサ4Bの両方が識
別レジスタ11をアクセスすることができ、共有装置1
を使用したいプロセッサが自分の識別子を書き込むこと
で、共有装置1を占有して使用することができるよう構
成したものである。
【0036】識別レジスタ11の識別子による共有装置
1の状態を以下のように定義する。 ・識別子A … プロセッサ4A使用可能状態 ・識別子B … プロセッサ4B使用可能状態 ・識別子0 … 共有装置未使用状態 なお識別レジスタ11の初期値は0である。
【0037】以下にプロセッサ4Aが共有装置1を使用
する場合について説明する。 (1) プロセッサ4Aが識別子Aを識別レジスタ11にラ
イト. (2) ライト動作が正常終了した場合、共有装置1を使
用.プロセッサ4Bは共有装置1をアクセスできない. (3) 共有装置1の使用が完了したとき、プロセッサ4A
は識別レジスタ11に識別子0をライト. プロセッサ4Bが共有装置1を使用する場合も(1)〜(4)
と同様であり、識別子Bをライトする。
【0038】識別レジスタ11の内容によるバス制御装
置3の動作は、上記第1の実施例の(表3)の内容と同
様であり、識別子に対応するプロセッサのアクセスに対
しては正常終了を応答し、対応しないプロセッサへは異
常終了を応答する。また、識別レジスタ11は共有バス
5に接続されているため、各プロセッサから識別レジス
タ11へのアクセスは識別レジスタ11の内容(識別
子)により制限される。識別レジスタ11をアクセスす
るときのバス制御信号7A及びバス制御信号7Bの内容
を(表4)に示す。
【0039】
【表4】
【0040】識別子0の場合は両方とも正常終了する
が、アクセスが競合したときは、アクセス要求タイミン
グが早い方を、アクセス要求タイミングが全く同時のと
きはプロセッサ4Aを正常終了とし、もう一方を異常終
了とする。異常終了の場合はバスエラー信号またはバス
リトライ信号を出力してプロセッサに通知し、その後の
処理はプロセッサに依存することになる。
【0041】共有装置1のプロセッサ4A及びプロセッ
サ4Bの使用切り替えは識別子0のときに行われること
になる。それ以外のときは共有装置1は1つのプロセッ
サの占有状態にあることになり、もう一つのプロセッサ
は共有装置1を使用することはできない。従って、共有
装置1を使用したプロセッサは使用後に必ず識別レジス
タ11に識別子0を書き込む必要がある。
【0042】以上のように、本実施例によれば、複数の
プロセッサのそれぞれが識別レジスタに識別子を書き込
むことで、共有装置を占有して使用することができる。
【0043】なお、本実施例では2個のプロセッサにつ
いて説明してきたが、3個以上のプロセッサを接続した
場合もそれぞれのプロセッサに対応した識別子を設けて
識別レジスタに設定することで容易に実現できる。
【0044】(実施例3)図3は本発明の第3の実施例
におけるバスインターフェース装置の構成図を示すもの
であり、2個のプロセッサが接続されているものであ
る。図3において、1は複数のプロセッサが共有して使
用する共有装置、4Aは共有装置1を使用するプロセッ
サ、4Bは共有装置1を使用するもう一つのプロセッ
サ、6Aはプロセッサ4Aのデータを転送するデータバ
ス、6Bはプロセッサ4Bのデータを転送するデータバ
ス、5は共有装置1のデータを転送する共有バス、2A
はデータバス6A上のデータと共有バス5上のデータの
入出力を行う双方向のバッファ、2Bはデータバス6B
上のデータと共有バス5上のデータの入出力を行なう双
方向のバッファ、12は共有装置1の使用状態を示す状
態レジスタ、13はプロセッサ4A及びプロセッサ4B
から状態レジスタ12へのアクセスがあるときに状態レ
ジスタ12へのリード/ライトを実行する状態制御装
置、14Aは状態レジスタ12の内容から共有装置1の
状態をデータバス6Aに転送する状態バッファ、14B
は状態レジスタ12の内容から共有装置1の状態をデー
タバス6Bに転送する状態バッファ、3はプロセッサ4
A及びプロセッサ4Bとバス制御信号の授受を行い、状
態レジスタ12の内容を入力してバッファ2A及びバッ
ファ2Bの制御と状態制御装置13の制御を行うバス制
御装置、7Aはプロセッサ4Aとバス制御装置3との間
のバス制御信号、7Bはプロセッサ4Bとバス制御装置
3との間のバス制御信号である。
【0045】以下、図3に従ってその動作を説明する。
本実施例は、一方のプロセッサが共有装置を使用してい
る場合であっても、他方のプロセッサが共有装置にアク
セス要求したときに異常終了を示すバスエラー信号やバ
スリトライ信号を受けることなく共有装置の使用状態を
確認できるように構成したものである。すなわち、共有
装置1の使用状態を示す状態レジスタ12は、データと
は独立した状態バッファ14A及び状態バッファ14B
によりデータバス6A及びデータバス6Bに接続してお
り、プロセッサ4Aとプロセッサ4Bはいつでも状態レ
ジスタ12をアクセスしてその内容を見ることができる
よう構成している。
【0046】状態レジスタ12の内容による共有装置1
の状態を以下のように定義する。 ・A … プロセッサA使用状態 ・B … プロセッサB使用状態 ・0 … 共有装置未使用状態 状態レジスタ12の初期値は0であり、共有装置1を使
用したいプロセッサが状態レジスタ12を読み出し、そ
の内容が他のプロセッサが使用中でないことを示す0を
確認することで、共有装置1を占有して使用することが
できる。
【0047】プロセッサ4Aが共有装置1を使用する場
合の動作について説明する。 (1) プロセッサA4Aが状態レジスタ12をリード. ・状態制御装置13が状態レジスタ12をリードして状
態バッファ14Aを経由してプロセッサAにデータを転
送. ・リード動作を検出した状態制御装置3は状態Aを状態
レジスタ12にライトする. (2) リードしたデータが0である場合、共有装置1を使
用.プロセッサ4Bは共有装置1をアクセスできない. (3) 共有装置1の使用が完了したとき、プロセッサ4A
は状態レジスタ12に状態0をライト. ・状態レジスタ12へのライト動作を検出した状態制御
装置13が0をライト. プロセッサBが共有装置1を使用する場合も(1)〜(4)と
同様であり、状態Bをライトする。
【0048】状態レジスタ12の内容によるバス制御装
置3の動作は、状態レジスタ12に対応するプロセッサ
以外のプロセッサからのアクセスに対してはそれを制限
するようバッファ2Aとバッファ2Bとを制御する。
【0049】次に状態レジスタ12の読み出し動作が競
合した場合について説明する。状態レジスタ12へのア
クセス要求タイミングが早い方を受け付ける。また、ア
クセス要求タイミングが全く同時である場合は、プロセ
ッサAからの要求を優先する。(表5)に状態レジスタ
12の初期値が0であり、リード要求が競合した場合の
状態レジスタ12の内容と読み出されたリードデータ内
容を示す。
【0050】
【表5】
【0051】(表5)に示した競合時のリードデータの
生成及び状態レジスタ12の書込みは状態制御装置13
が行う。共有装置1のプロセッサ4A及びプロセッサ4
Bの使用切り替えは状態0のときに行われることにな
る。それ以外のときは共有装置1は1つのプロセッサの
占有状態にあることになり、もう一つのプロセッサは共
有装置1を使用することはできない。
【0052】以上のように、本実施例によれば、共有装
置を使用したいプロセッサが共有装置の状態を示す状態
レジスタの読み出すことで、共有装置の使用状態を知る
ことができ、未使用状態であれば共有装置を占有して使
用することができる。
【0053】なお、本実施例では2個のプロセッサにつ
いて説明してきたが、3個以上のプロセッサを接続した
場合もそれぞれのプロセッサに対応した状態を設けて状
態レジスタに設定することで容易に実現できる。
【0054】(実施例4)図4は本発明の第4の実施例
におけるバスインターフェース装置の構成図を示すもの
であり、2個のプロセッサが接続されているものであ
る。図4において、1は複数のプロセッサが共有して使
用する共有装置、4Aは共有装置1を使用するプロセッ
サ、4Bは共有装置1を使用するもう一つのプロセッ
サ、9Aはプロセッサ4Aのデータバス幅を保持するバ
ス幅レジスタ、9Bはプロセッサ4Bのデータバス幅を
保持するバス幅レジスタ、6Aはプロセッサ4Aのデー
タを転送するデータバス、6Bはプロセッサ4Bのデー
タを転送するデータバス、5は共有装置1のデータを転
送する共有バス、8は共有バス5と共有装置1の間でデ
ータの並び替えを行うデータアライナ、2Aはデータバ
ス6A上のデータと共有バス5上のデータの入出力を行
う双方向のバッファ、2Bはデータバス6B上のデータ
と共有バス5上のデータの入出力を行なう双方向のバッ
ファ、3はプロセッサ4A及びプロセッサ4Bとバス制
御信号の授受を行い、バス幅レジスタ9A及びバス幅レ
ジスタ9Bの内容を入力してデータアライナ8の制御と
バッファ2A及びバッファ2Bの制御を行うバス制御装
置、7Aはプロセッサ4Aとバス制御装置3との間のバ
ス制御信号、7Bはプロセッサ4Bとバス制御装置3と
の間のバス制御信号である。
【0055】以下、図4に従ってその動作を説明する。
本実施例は互いにデータバス幅の異なる複数のプロセッ
サを共有装置に接続できるよう構成したものであり、ア
クセス方法は従来技術で説明した(表1),(表2)で
示される動作と同様である。
【0056】例えば共有バス5が32ビット幅、データ
バス6Aが32ビット幅、データバス6Bが16ビット
幅であるとする。この場合バス幅レジスタ9Aには32
ビットを示す値が、バス幅レジスタ9Bには16ビット
を示す値が保持される。また、共有装置1は32ビット
レジスタを保有していて、16ビットのプロセッサ4B
が共有装置1をアクセスする場合の共有装置1内のレジ
スタアドレスは、その上位16ビットに対応するプロセ
ッサ4Bの16ビットのデータにアドレス0を割り当
て、その下位16ビットに対応するプロセッサ4Bの1
6ビットのデータにアドレス1を割り当てている。
【0057】以下に、プロセッサ4A及びプロセッサ4
Bが共有装置1に対してライト動作を実行する場合のデ
ータバス幅の対応方法について説明する。 (1) プロセッサA4Aが共有装置1をアクセスする場合 データバスA6Aのデータが共有バス5にそのまま出力
され、データアライナ8はデータを通過させて共有装置
1内レジスタにライトする. (2) プロセッサB4Bが共有装置1をアクセスする場合 図5に示すように、データバス6Bの内容がバッファ2
Bを経て共有バス5の下位16ビットに出力される.こ
の下位16ビットのデータはデータアライナ8によって
アドレスが示す位置に配置されて共有装置1に入力され
る. ・アドレス0の場合 … データをレジスタの上位側に
配置 ・アドレス1の場合 … データをレジスタの下位側に
配置 以上の操作をデータアライナ8が行って共有装置1内の
レジスタにライトする。バス制御装置3は、プロセッサ
4Aがアクセスするときはバス幅レジスタ9Aの内容を
入力して前記(1)の動作を、プロセッサ4Bがアクセス
するときはバス幅レジスタ9Bの内容を入力して前記
(2)の動作を行うように、データアライナ8を制御す
る。
【0058】データをリードするときには、これまでの
説明と同様にして共有装置1から読みだされたデータを
データアライナ8で共有バス5の下位側に配置すること
で実現できる。
【0059】以上のように本実施例によれば、複数のプ
ロセッサのバス幅を保持するバス幅レジスタの内容に従
ってデータの並び替えを行うデータアライナを設けるこ
とで、それぞれのプロセッサのデータバス幅に対応して
共有装置をアクセスすることができる。それぞれのプロ
セッサはデータの配置を意識することなく、共有装置を
使用することができる。即ち、データバス幅の異なる複
数のプロセッサを共有装置に接続することができ、各プ
ロセッサはデータの配置を意識することなく共有装置を
使用することができる。
【0060】なお、本実施例では2個のプロセッサにつ
いて説明してきたが、3個以上のプロセッサを接続した
場合もバス幅レジスタをそれぞれに対して設けることで
容易に実現できる。また、データ幅は32/16ビット
について説明してきたが、データアライナ8の機能を増
加することで任意のデータバス幅に対応することができ
る。
【0061】(実施例5)図6は本発明の第5の実施例
におけるバスインターフェース装置の構成図を示すもの
であり、2個のプロセッサが接続されているものであ
る。図6において、1は複数のプロセッサが共有して使
用し、数値演算等を実行させるための共有装置、4Aは
共有装置1を使用するプロセッサ、4Bは共有装置1を
使用するもう一つのプロセッサ、6Aはプロセッサ4A
のデータを転送するデータバス、6Bはプロセッサ4B
のデータを転送するデータバス、5は共有装置1のデー
タを転送する共有バス、2Aはデータバス6A上のデー
タと共有バス5上のデータの入出力を行う双方向のバッ
ファ、2Bはデータバス6B上のデータと共有バス5上
のデータの入出力を行なう双方向のバッファ、10は共
有装置1が数値演算等の演算実行状態にあることを示す
実行フラグ、3はプロセッサ4A及びプロセッサ4Bと
バス制御信号の授受を行い、実行フラグ10の内容を入
力してバッファ2A及びバッファ2Bの制御を行うバス
制御装置、7Aはプロセッサ4Aとバス制御装置3との
間のバス制御信号、7Bはプロセッサ4Bとバス制御装
置3との間のバス制御信号である。
【0062】以下、図6に従ってその動作を説明する。
本実施例は、共有装置1を数値演算等を実行する演算実
行装置としたものであり、その実行中は共有装置1に対
するアクセスを禁止するよう構成したものである。
【0063】共有装置1が数値演算装置である場合の動
作を例にして説明する。プロセッサが共有装置1を用い
て数値演算を実行する動作を以下に説明する。 (1) プロセッサがオペランドデータを共有装置1内レジ
スタに転送 (2) プロセッサが共有装置1に対して演算命令を転送 (3) 共有装置1が通知された演算命令を実行 (4) 得られた演算結果をプロセッサが読み出し 以上の(1)〜(4)の一連の動作を実行することにより一つ
の演算が完了する。従って、共有装置1における演算が
完了するまでに(4)の動作を実行すると、正しい演算結
果が得られないことになる。演算が完了するまでは共有
装置1に対するアクセスはしないことが望ましい。本実
施例はこのような場合にプロセッサからのアクセスを禁
止するものである。前記(3)の状態にある場合には実行
フラグ10にその状態を反映する。バス制御装置3は実
行フラグ10が実行状態にあることを示している場合
に、バッファ2A及びバッファ2Bをフロート状態にし
ておき、プロセッサ4Aまたはプロセッサ4Bからアク
セスがあった時には、プロセッサ4A及びプロセッサ4
Bには異常終了を応答する。異常終了が応答されたプロ
セッサはある期間を置いて共有装置1をアクセスするこ
とで正しい演算結果が得られることになる。
【0064】実行フラグ10が実行状態にない場合に
は、従来技術で説明した(表1),(表2)に従って動
作する。
【0065】以上のように、本実施例によれば、数値演
算等を実行する共有装置が実行状態にある場合の共有装
置に対するアクセスを禁止(異常終了応答)すること
で、不当なデータのリード/ライトを回避できる。
【0066】なお、本実施例では数値演算を実行する共
有装置について説明したが、その他の機能を実現する共
有装置に対しても実行フラグを設けることで同様にして
実現することができる。
【0067】
【発明の効果】以上説明したように、本発明のバスイン
ターフェース装置によれば、次の事項が実現できる。
【0068】第1に、共有装置を共通して使用する複数
のプロセッサのうち、任意の一つのプロセッサを示すデ
ータを保持するレジスタを設け、バス制御装置が前記レ
ジスタに保持されたデータに対応するプロセッサ以外の
プロセッサからの共有装置へのアクセスを制限するよう
に構成することで、一つのプロセッサが共有装置を占有
して使用することができる。
【0069】第2に、複数のプロセッサのバス幅を保持
するバス幅レジスタの内容に従ってデータの並び替えを
行うデータアライナを設けることで、データバス幅の異
なる複数のプロセッサはデータの配置を意識することな
く、それぞれのデータバス幅に対応して共有装置をアク
セスすることができる。
【0070】第3に、数値演算等を実行する共有装置が
実行状態にある場合の共有装置に対するアクセスを禁止
(異常終了応答)することで、不当なデータのリード/
ライトを回避できる。
【0071】このように本発明によれば、複数のプロセ
ッサを用いたシステムにおいて性能に大きな影響を与え
る共有装置のプロセッサ切り替えを行うバスインターフ
ェース装置を簡単な構成で実現でき、その実用的効果は
極めて大きい。
【図面の簡単な説明】
【図1】本発明の第1の実施例におけるバスインターフ
ェース装置の構成図
【図2】本発明の第2の実施例におけるバスインターフ
ェース装置の構成図
【図3】本発明の第3の実施例におけるバスインターフ
ェース装置の構成図
【図4】本発明の第4の実施例におけるバスインターフ
ェース装置の構成図
【図5】同実施例におけるデータアライナの説明図
【図6】本発明の第5の実施例におけるバスインターフ
ェース装置の構成図
【図7】従来のバスインターフェース装置の構成図
【符号の説明】
1 共有装置 2A,2B バッファ 3 バス制御装置 4A,4B プロセッサ 5 共有バス 6A,6B データバス 7A,7B バス制御信号 8 データアライナ 9A,9B バス幅レジスタ 10 実行フラグ 11 識別レジスタ 12 状態レジスタ 13 状態制御装置 14A,14B 状態バッファ

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】 複数のプロセッサと、前記複数のプロセ
    ッサにより共用される共有装置と、前記プロセッサと前
    記共有装置との間でデータの入出力を行うため、前記複
    数のプロセッサのそれぞれに対応して設けられた複数の
    バッファと、前記複数のプロセッサの任意の一つが前記
    共有装置を使用するとき、そのプロセッサを示すデータ
    を保持するレジスタと、前記任意の一つのプロセッサが
    前記共有装置を使用しているときに、その共有装置を使
    用しているプロセッサ以外のプロセッサから共有装置へ
    アクセスがある場合に、前記レジスタにより示されるデ
    ータに基づきそのアクセスを制限するよう前記バッファ
    を制御するバス制御装置とを備えたバスインターフェー
    ス装置。
  2. 【請求項2】 複数のプロセッサと、前記複数のプロセ
    ッサにより共用される共有装置と、前記プロセッサと前
    記共有装置との間でデータの入出力を行うため前記複数
    のプロセッサのそれぞれに対応して設けられた複数の第
    1のバッファと、前記複数のプロセッサの任意の一つが
    前記共有装置を使用するとき、そのプロセッサを示すデ
    ータを保持するレジスタと、前記複数のプロセッサと前
    記レジスタとの間において、プロセッサを示すデータの
    入出力を行なうため前記複数のプロセッサのそれぞれに
    対応して設けられた複数の第2のバッファと、前記プロ
    セッサが前記共有装置を使用するときにそのプロセッサ
    を示すデータを前記レジスタへ書き込んだり、前記プロ
    セッサが前記レジスタに保持されたデータを読み出した
    りすることを制御するため、前記第2のバッファと前記
    レジスタとの間に設けられた前記レジスタの制御装置
    と、前記任意の一つのプロセッサが前記共有装置を使用
    しているときに、その共有装置を使用しているプロセッ
    サ以外のプロセッサから共有装置へアクセスがある場合
    に、前記レジスタにより示されるデータに基づきそのア
    クセスを制限するよう前記バッファを制御するバス制御
    装置とを備えたバスインターフェース装置。
  3. 【請求項3】 データバス幅が互いに異なる複数のプロ
    セッサと、前記複数のプロセッサが共通して使用する共
    有装置と、前記複数のプロセッサと前記共有装置との間
    でデータの入出力を行うため接続され、前記共有装置に
    対しては互いにデータバスを共用する複数のバッファ
    と、前記複数のプロセッサのうち前記共有装置のデータ
    バス幅よりも小さいデータバス幅のプロセッサと前記共
    有装置とのデータの入出力において、前記バッファと共
    有装置との間で前記データの並べ替えを行うデータアラ
    イナと、前記複数のプロセッサの共有装置へのアクセス
    要求に応じて前記バッファを制御するとともに、前記プ
    ロセッサのデータバス幅に応じて前記バッファと共有装
    置との間でデータの並べ替えを行う前記データアライナ
    を制御するバス制御装置とを備えたバスインターフェー
    ス装置。
  4. 【請求項4】 プロセッサと、前記プロセッサの要求に
    応じて演算を実行する演算実行装置と、前記複数のプロ
    セッサと演算実行装置との間でデータの入出力を行うた
    め接続されたバッファと、前記演算実行装置の演算の実
    行状態を示すフラグと、前記プロセッサからの演算実行
    装置へのアクセス要求に応じて前記バッファを制御する
    とともに、前記フラグが演算実行装置が実行中であるこ
    とを示す場合には、プロセッサから演算実行装置へのア
    クセスを禁止するよう前記バッファを制御するバッファ
    制御装置とを備えたバスインターフェース装置。
JP12311592A 1992-05-15 1992-05-15 バスインターフェース装置 Pending JPH05324541A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12311592A JPH05324541A (ja) 1992-05-15 1992-05-15 バスインターフェース装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP12311592A JPH05324541A (ja) 1992-05-15 1992-05-15 バスインターフェース装置

Publications (1)

Publication Number Publication Date
JPH05324541A true JPH05324541A (ja) 1993-12-07

Family

ID=14852555

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12311592A Pending JPH05324541A (ja) 1992-05-15 1992-05-15 バスインターフェース装置

Country Status (1)

Country Link
JP (1) JPH05324541A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042992A (ja) * 2007-08-08 2009-02-26 Renesas Technology Corp バス制御装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009042992A (ja) * 2007-08-08 2009-02-26 Renesas Technology Corp バス制御装置

Similar Documents

Publication Publication Date Title
EP1012734B1 (en) Address translation in computer bus bridge devices
JPS5837585B2 (ja) ケイサンキソウチ
US5845130A (en) Mailbox traffic controller
JP4642531B2 (ja) データ要求のアービトレーション
EP0522582A2 (en) Memory sharing for communication between processors
JPH11232213A (ja) 入出力装置におけるデータ転送方式
JPH05324541A (ja) バスインターフェース装置
JPH09153009A (ja) 階層構成バスのアービトレーション方法
JP2587586B2 (ja) データ転送方法
JPH02257249A (ja) 情報処理システム
JP2005107873A (ja) 半導体集積回路
JP2000099391A (ja) プリンタ装置およびプリンタ制御方法、並びに記録媒体
JPS63175964A (ja) 共有メモリ
JPH05257903A (ja) マルチプロセッサシステム
JPH06314231A (ja) 共用メモリアクセス制御方法
JPS5834856B2 (ja) キオクセイギヨソウチ
JPH0351943A (ja) 高速バスと低速バスのバスライン共用化方式
JPH04117697A (ja) マルチポートメモリ回路
JP2001075826A (ja) 並列計算機における高効率セマフォ処理方式
JPH0610795B2 (ja) 共有メモリの診断方式
JPH07111711B2 (ja) 処理終了割込制御システム
JPH044455A (ja) メモリアクセス調停回路
JPS62546B2 (ja)
JPH03113555A (ja) バスリピータ装置
JP2000250712A (ja) ディスクアレイ制御装置