JP3626292B2 - バスインタフェース制御方式 - Google Patents
バスインタフェース制御方式 Download PDFInfo
- Publication number
- JP3626292B2 JP3626292B2 JP21241896A JP21241896A JP3626292B2 JP 3626292 B2 JP3626292 B2 JP 3626292B2 JP 21241896 A JP21241896 A JP 21241896A JP 21241896 A JP21241896 A JP 21241896A JP 3626292 B2 JP3626292 B2 JP 3626292B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- command
- local
- local bus
- monitoring timer
- 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 - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は各プロセッサがそれぞれのローカルバスを経て接続されたバスインタフェース回路を介してシステムバスに接続されたマルチプロセッサシステムにおけるバスインタフェース制御方式に関する。
【0002】
近年,情報処理装置の処理能力向上要求に対して,一本のシステムバスに複数のプロセッサを接続して,プロセッサ単体の処理能力をあまり上げないでもシステム全体の能力を向上させて,高処理能力と低コストを実現する傾向にある。
【0003】
ローカルバスがインターロック転送でシステムバスがタイムスプリット転送を用いるマルチプロセッサシステムでは,各ローカルバスに接続するローカルメモリを相互に利用しており,他のローカルメモリにアクセスする場合にシステムバスを介したアクセスを要求し,バス使用権の調停回路(バスアービタ)による調停により使用許可を得た上でシステムバスを使用し,異常状態を検出するために監視タイマを設けている。しかし,この監視タイマでは各種の異常を検出することができないため,その改善が望まれている。
【0004】
【従来の技術】
従来のマルチプロセッサシステムにおいて,複数のプロセッサ(処理装置)間でデータの転送を行う時に,バススタックの発生を防止するために監視タイマを用いた方式が『監視タイマシステム』としてこの出願と同じ出願人により提案(特願平3−267473:特開平6−110795号公報) されており,その内容は従来の監視タイマシステムとして図20に示し,以下に概説する。
【0005】
図20には,1系と2系の処理装置がシステムバスにより接続され,各処理装置は同じ構成要素を備え,プロセッサ1,2(CPU1,2で表す),ローカルメモリ1,2(LM1,2で表す),ローカルバス1,2及びバスインタフェース制御部1,2が設けられている。バスインタフェース制御部1,2にはそれぞれ送信側監視タイマ1,受信側監視タイマ1と送信側監視タイマ2,受信側監視タイマ2を備えている。
【0006】
この構成で1系のCPU1が2系のLM2にアクセスする場合,バスインタフェース制御部1を介して2系のLM2を宛先とするコマンドを発行し,2系のバスインタフェース制御部2はこのコマンドにより1系にステータスコードを返した後,LM2をアクセスしてデータを読み出し,システムバスを介して1系にアンサコマンドとデータを順次転送する。
【0007】
監視タイマの動作を説明すると,上記のアクセス時にCPU1から送信コマンドを発行すると,1系の送信側監視タイマ1が起動しカウントを開始する。同時に送信コマンドがシステムバスを介して2系に送られると,2系のバスインタフェース制御部2はこのコマンドの受信により受信側監視タイマ2を起動してカウントを開始する。受信側装置(2系)が正常なら,送信側監視タイマ1がオーバーフローする前にアンサコマンドが1系に返されてデータ転送を知らせるが,受信側装置に異常が発生すると,アンサコマンドが発行されない。送信側監視タイマ1は受信側監視タイマ2より大きく設定されているので,受信側監視タイマ2がまずオーバーフローし,1系にアンサ信号を返す。もし2系の受信側監視タイマ2も異常の場合は,1系の送信側監視タイマ1がオーバーフローして疑似的なアンサ信号を発生する構成を備えている。これにより送信側装置がバススタックにおちいることを防止している。
【0008】
図21はマルチプロセッサシステムの従来例の構成である。
図21の場合,上記図20に示す構成と同様に1系と2系の処理装置がシステムバスにより接続され,各系の構成は同じであり,プロセッサ1,2(CPU1,CPU2),ローカルバス1,2,ローカルメモリ1,2(LM1,LM2),バスインタフェース制御部1,2(BIF1,BIF2で表示)とを備え,この他にCPU1,CPU2から対応するローカルバス1,2の占有権を調停(アービトレーション)するバスアービタ1,2(BA1,BA2で表示)及びBA1とBA2からのシステムバスの占有権の調停を行うバスアービタ(BA3で表示)が備えられる。この例では,ローカルバスのバス転送はインターロック方式で,システムバスのバス転送はスプリット方式を用いる。また,BIF1及びBIF2の内部には図示されないが上記図20に示す送信側・受信側監視タイマがそれぞれ設けられている。
【0009】
ローカルバスのインターロック方式のバス転送は,バスマスタ(例えば,CPU)がバスに接続されているバススレーブ(例えば,ローカルメモリ)にアクセスする場合,ローカルバスのリード(Read) アクセスを行うコマンドを発行してから, ローカルメモリがリードデータを出力してCPUがデータを受信して転送が完了するまでバスを占有し,その間は他のエレメントはバスの使用を行わない方式である。
【0010】
システムバスのタイムスプリット方式のバス転送は,システムバスを所定の時間間隔で分割して占有する。このため,要求されたコマンド(リード,ライト等)の転送と,そのコマンドの実行に対応して発生するアンサデータ(例えば,リードコマンドに対応する読み出しデータ)の転送動作とを同じ時間間隔で実行できないので,分割された異なる時間に行う転送方式である。
【0011】
上記図21の構成により,CPU1がローカルバス2のLM2にアクセスする要求を発生し,CPU2がローカルバス1のLM1に対しアクセスする要求を発生した場合のタイミング動作を,図22に示すシステム動作のタイムチャートの例に示す。図22の「L1バス」,「L2バス」は各ローカルバス1,2への転送要求に対するBA1,BA2の調停と転送状態を表し,「Sバス(1)」,「Sバス(2)」はCPU1,CPU2からシステムバスの要求に対するBA3の調停とそれに対する転送状態を表す。
【0012】
CPU1からローカルバス2への転送を要求してバス使用要求信号RQ1をアサートし,BA1からの許可信号GR1がアサートされると,CPU1は転送を開始し信号RQ1をネゲート(停止)する。ローカルバス1を介してBIF1にコマンド(アドレスを含む)が転送されると,BIF1はシステムバスの占有を要求する要求信号RQ3を出力する。一方,CPU2からもBA2にローカルバス1への転送を要求して許可されるとBIF2にコマンドが転送される。同時にBA2もシステムバスの占有を要求する信号RQ4を出力すると,BA3では両方からの要求に対し優先順位に従い,この例ではCPU1に対し転送許可信号GR3をBA1に出力する。システムバスは,Sバス(1)の転送S(1)によりコマンドを転送し,BIF2に達する。BIF2ではバス使用要求信号RQ6を発生し,CPU2に対する転送許可信号GR2を禁止する。
【0013】
この後,ローカルバス2を介してCPU1からのコマンドが実行され,BIF2にデータがセットされると,DC6(データ受信完了)が発生し,転送許可信号GR2(先に禁止されていた)が発生し,ローカルバス2を介してコマンドが転送される。続いてシステムバスを通って転送S(1)W(ライトコマンドとアドレス,データ)がBIF1に入力され,転送L(1)WをCPUが受信して転送を完了する。このようにローカルバスは,インターロック方式でシステムバスがタイムスプリット方式の転送方式を採用しているシステムでは,プロセッサがシステムバスを介して他のローカルメモリに対して書き込みを行う場合には,プロセッサがローカルバスからバスインタフェース制御部を経て書き込みを行うが,その時のローカルバスの制御方法として書き込み完了までローカルバスを開放しない非突き放しモードと,バスインタフェース制御部を介してシステムバスにライトアクセスしたら,ローカルバスを開放する突き放しモードがある。
【0014】
図23は従来の非突き放しモードと突き放しモードのバスインタフェース制御部の動作を示し,A.は非突き放しモードの例,B.は突き放しモードの例である。
【0015】
図23のA.の非突き放しモードの例について動作の順に従って説明する。
▲1▼最初にローカルバスの転送開始信号BSを受信するとBIFはシステムバスに対してバス使用要求信号RQを出力し,転送許可信号GRがバスアービタ(BA)から出力するとRQ信号の出力を禁止して転送を開始する。データ転送期間は,バスマスタ(この例では,BIF)がシステムバス上に転送開始信号SBSと,転送出力信号CPTとを各1サイクル出力することにより通知してアンサ待ちとなる。
【0016】
▲2▼バスアービタBA3は転送終了信号CPTを受信した時,転送許可信号GRの出力を禁止しバス権の終了を通知する。
▲3▼システムバスのスレーブ装置からアンサを受信すると,アンサ待ち状態を解除し,ローカルバスのデータ受信完了信号DC(Data Cpmplete)を出力して転送を終了する。
【0017】
図23のB.の突き放しモードの場合,ローカルバスの転送開始信号BSを受信すると,バスインタフェース制御部BIFは,直ちに受信完了信号DCを出力すると共に,システムバスへバス使用要求信号RQを出力して,バスの使用を要求する。転送許可信号GRをバスアービタBAが出力すると,転送を開始する。この場合,アンサ待ちを行わない。なお,この突き放しモードは,ライト(書き込み)コマンドについて使用され,アンサを必要とするリードコマンドには使用されない。
【0018】
ここで,コマンドとアンサのフォーマットを説明すると,コマンドまたはアンサは転送開始信号SBSが出力されている間に転送される先頭のデータであり,コマンドは,転送元ID,転送先ID,アンサの要(非突き放しモード)/不要(突き放しモード)及びコマンドの表示(1ビットで表し,コマンドは“0”),アンサはコマンドの場合に含まれるアンサの要/不要の表示が無く,最後にアンサの表示(ビットが“1”の状態)が付される。
【0019】
【発明が解決しようとする課題】
(1) 問題点1
従来のシステムスタック回避の方法として, 上記図20に示すように監視タイマをバスインタフェース制御部(BIF)に設ける方法があった。しかし,この方法は,ローカルバスからバスインタフェース制御部を介してシステムバスに転送されるコマンドを実行する場合のスタックを検出するための構成を備えているが,ローカルバス(例えば,ローカルバス1)のバスマスタ(例えば,CPU1)から同じローカルバスのバススレーブ(例えば,ローカルメモリLM1)にコマンドを送って応答が無い状態が継続した時に監視タイマが起動されていないため,バスマスタは動作ができずローカルバスがスタックするという問題があった。
(2) 問題点2
上記図21に示すシステム構成で,ローカルバスがインターロック方式,システムバスがタイムスプリット方式によりバスのデータ転送を行う場合,更に別の系の処理装置を追加した場合の問題点を図24により説明する。図24,図25は,3つの系の処理装置を備えた場合の説明図(その1),(その2)であり,上記図21の構成にCPU3,ローカルバス3,ローカルメモリ3(LM3),バスインタフェース制御部3(BIF3)が追加されている。
【0020】
図24において,CPU1がLM2にアクセスし,CPU3がLM1にアクセスする場合,ローカルメモリ2に障害が発生して応答が無かった場合,ローカルバス1がスタックする。この場合の動作を以下に説明するが,各処理装置からのシステムバス使用権の優先順位の調停は,優先が高い順にRQ3(CPU1),RQ8(CPU3),RQ4(CPU2)の順である。
【0021】
1) CPU1がLM2にアクセスし,CPU3がLM1にアクセスする場合,CPU1がBA1にバス使用要求信号RQ1を出力し,CPU3がBA4にバス使用要求信号RQ7を出力する。BA1は信号RQ1に対し転送許可信号GR1を出力し,システムバスの使用権を要求する信号RQ3を出力する。CPU1は転送許可信号GR1に応じローカルバス1からデータをBIF1に送出する。同様にBA4はRQ7に対する転送許可信号GR7を出力すると共に要求信号RQ8を出力する。CPU3は転送許可信号GR7を受け取るとローカルバス3へデータをBIF3に送出する。
【0022】
2) 次にBA3はシステムバスの使用要求信号RQ3,RQ8に対し優先順位が高いRQ3の要求を受付け,GR3を出力する。その結果,BIF1のデータがシステムバスに送信される。これをBIF2が受信し,LM2に対しCPU1からのコマンドを送信する。同時にシステムバスでは,BIF1の転送が終了してバスが開放されるので,BA3はBA4からの要求信号RQ8を受付け,転送許可信号GR8をBA4に出力する。これによりBIF3は,システムバスにCPU3からのデータを転送する。
【0023】
3) BIF1がデータを受信しLM1にCPU3からのコマンドを送信するため,CPU1のバス使用権を開放するためにBA1にローカルバス使用禁止要求信号RQ5を出力する。BA1はこれに応じてGR1の出力を停止する。一方,ローカルバス2に送信されたデータはLM2が受信し,正常であればコマンドに対するアンサを送信するが,LM2に障害があって無応答であったとする。
【0024】
4) BIF1はローカルバス1が上記3)により開放されたので,CPU3からのコマンドを送信する。LM1はそのコマンドを受信し,アンサをBIF1に送信し,同時にBA1はシステムバスへの転送を検知して要求信号RQ3を出力する。BA3は要求信号RQ3を受信すると転送許可信号GR3を出力し,BIF1はシステムバスにアンサを出力する。
【0025】
5) BIF3はシステムバスからアンサを受信すると,そのアンサをローカルバス3に送信し,CPU3が受信するとCPU3は実行した命令を完了する。同時に,ローカルバス1ではLM1へのアクセスが完了したので,バスが開放され,CPU1から上記3)で一旦取り止めたコマンドが送信され, CPU1 はLM2からのアンサ待ちの状態になり,応答がないとLM1,2はスタックする。
【0026】
ここで,上記図20に説明した監視タイマが動作し,ローカルバス2のBIF2の受信側監視タイマがオーバーフローしてLM2の異常状態を検出し,コマンドが正常に実行されなかったことを表すアンサをBIF2が発生し,BIF1がこれを受信してCPU1に転送する。CPU1はアンサを受け取り,アクセスを終了する。この場合,バスのスタックを回避することができる。
【0027】
6) 上記1)〜5)の動作はCPU3がLM1に1回アクセスした場合であるが,CPU1からの上記再度のコマンドを送信している状態で,CPU3がLM1に対して連続してアクセスした場合,ローカルバス3を使用するため要求信号RQ7がBA4に出力される。BA4はこれに応じてRQ8を出力し,BA3が許可信号GR8を出力し,BIF3がシステムバスにコマンドを送出する。
【0028】
図25はこの時の各部の状態を表し,太線は各制御信号(RQ,GR)が出力していることを表す。点線はコマンド(データ)の転送状態を表す。
この後,上記3)〜5)と同様の動作が行われるが, CPU3からのアクセスが連続して発生した場合のバス監視タイマは,BIF2で送信側監視タイマがオーバーフローし(上記5)と同じ動作) ,BIF2がエラーを通知するアンサを出力しようとして要求信号RQ6をBA2に出力する。BA2はBA3に要求信号RQ4を出力する。この時,システムバスはBIF3の転送により使用されているか,BA4からの要求信号RQ8が出力されている状態であり,優先順位によりBA3はRQ4の要求に対する許可を与えられないのでCPU1に異常状態を通知できない。また,ローカルバス1でのBIF1の受信側監視タイマは,CPU1からのコマンドを受信した時点で起動するが,CPU3からコマンドを受信するために一旦アクセスを取り止めるのでタイマが停止する。CPU3からのアクセスが終了するとCPU1から元のアクセスを受信してタイマが再起動する。しかし,タイマがオーバーフローするより短い間隔で,CPU3がLM1に連続してアクセスするといつまでも受信側監視タイマがオーバーフローすることができない。従って,最初のCPU1からのアクセスが完了することができないためバスがスタックするという問題がある。
(3) 問題点3
図26は突き放しモードにおける問題の説明図である。図26において,CPU1がLM2に突き放しモードで転送を行う場合,RQ1をBA1へ出力してローカルバス1の使用を要求し,転送許可信号GR1が発生すると,CPU1はローカルバス1に突き放しモードでBIF1へコマンドを送信する。BIF1は突き放しモードを検出し転送完了信号(アンサ)をCPU1へ通知し転送を完了する。この後,BA1が要求信号RQ3をBA3に出力した時,BA3に障害が発生するとGR3が出力されない。この場合,BIF1はシステムバスにコマンドを送出することができなくなり,BIF1の受信側監視タイマはCPU1からのコマンドを受信して起動するが,突き放しモードの場合は転送完了信号(アンサ)を即座にCPU1へ返送するので,この時点でタイマが停止してしまう。すると,突き放しモードのコマンドが転送できずバスがスタックする。しかし,CPU1は正常に転送が行われているように見えてしまい,スタックが検出できないという問題があった。
【0029】
本発明の第1の目的は上記問題1を解決し,コマンドがシステムバスを介して送受信される場合だけでなくローカルバス上のコマンドを全てタイマにより監視してスタックを検出して防止できるバスインタフェース制御方式を提供することである。
【0030】
本発明の第2,第3の目的は上記問題2及び問題3を解決することができるバスインタフェース制御方式を提供することである。
【0031】
【課題を解決するための手段】
図1は本発明の基本構成図である。
図1において,1はバスインタフェース制御部(BIF),2はローカルバス,3はシステムバスである。
【0032】
バスインタフェース制御部1において,10a〜15aはローカルバスのコマンドを受信してシステムバスへの転送制御を行うための各部であり,10b〜15bはシステムバスからのコマンドを受信してローカルバスへの転送制御を行うための各部である。図中,10a,10bは受信用のバッファ,11a,11bは送信用FIFOメモリ,12a,12bは送信用のバッファ,13a,13bは受信制御部,14a,14bはFIFO制御部,15a,15bは送信制御部である。16は本発明により設けられたローカルバス監視タイマ,17は本発明により設けられたシステムバス監視タイマである。
【0033】
受信制御部13aはローカルバス2からシステムバスへの送信データの受信判定を行い,FIFO制御部14aはこの判定に基づいてバッファ10aへのアドレス,データを送信用FIFOメモリ11aへ書き込む制御を行う。送信制御部15aはFIFO制御部14aの制御による送信用FIFOメモリ11aへの書き込みを検知すると,送信用FIFOメモリ11aに書き込まれたアドレス,データを読み出してバッファ12aを介してシステムバス3へ送出する制御を行う。
【0034】
受信制御部13bはシステムバス3からの受信データ(コマンドを含む)を受信すべきか否かを判定し,FIFO制御部14bはこの判定に基づいてバッファ10bのデータを送信用FIFOメモリ11bに書き込む。送信制御部15bは送信用FIFOメモリ11bに書き込まれたデータを読み出してバッファ12bを経てローカルバス2へ送出する。
【0035】
図1のローカルバス監視タイマ16,システムバス監視タイマ17が従来と相違する点は,従来の受信監視タイマはシステムバスからバスインタフェース制御部1で受信され,ローカルバスに転送されるコマンドに対して起動されるものであった。また,送信監視タイマはバスインタフェース制御部から,システムバスにコマンドを送信する時起動される構成を備えており,共にローカルバスのスタック状態を監視する(送信監視タイマはシステムバスのスタック状態も監視する)ものであったが,本発明のローカルバス監視タイマ16は,バスインタフェース制御部でローカルバスの入力に直接接続され,バスインタフェース制御部1で受信判定されたコマンドだけでなく,バスに出力されたバス起動信号によってタイマを起動し,バスに出力された転送完了信号によってタイマを停止する。タイマがオーバーフローすると送信制御部15bからエラー応答をローカルバス2から出力する。これにより,システムバスへ送信するコマンドだけでなく,バスインタフェース制御部1を介することなくローカルバス2を介して実行されるコマンド(同じ処理装置内のCPUからメモリへのアクセス等)に対してもタイマによる監視を行うことができる。この構成により上記問題点1を解決することができる。
【0036】
また,本発明のシステムバス監視タイマ17は,バスインタフェース制御部1でローカルバスからのコマンドを受け取って,システムバス3へコマンドを送信する時起動を行い,システムバス3からアンサを受信した時停止し,オーバーフローの場合はローカルバスに対し状態を通知する。但し,システムバス転送種別は,非突き放しモードか突き放しモードの2つの転送があり,非突き放しモードの場合は転送されるコマンドに対するアンサが返送されるアクセスなので,アンサ受信完了信号が受信制御部13bに入力すると,システムバス監視タイマ17がリセットされる。アンサが返ってこないでオーバーフローすると送信制御部15bからローカルバス2へエラー応答(アンサ)を通知する。
【0037】
突き放しモードの場合は,アンサが返ってこないので,システムバス3の使用要求(バスアービタ図21のBA1からBA3へのRQ3)を行った時にタイマを起動して,その後にシステムバス占有の許可が発生するとタイマが停止する構成を備える。
【0038】
また,ローカルバス監視タイマ16はローカルバスの転送開始信号で起動され,そのコマンドがシステムバスに転送されるとシステムバス監視タイマ17が起動されるため,二重にタイマが動作を開始する。ローカルバスの監視タイマがオーバーフローした時は,システムバスのタイマもタイマオーバーフローして二重にエラー応答するのを防ぐため,システムバス監視タイマ17を停止させる入力としてローカルバス監視タイマ16からのオーバーフロー出力が供給される。
【0039】
上記問題点2で述べたように,ローカルバス2からコマンドを受信している間に,システムバス3から別の処理装置からのコマンドを受信すると,一旦アクセスを取り止めて,バスインタフェース制御部1からローカルバス2にコマンドを送信する。この時,転送先のバススレーブ(例えば,ローカルメモリ)からの応答がないとローカルバス監視タイマ16がオーバーフローしてスタック状態から開放されるが,タイマのオーバーフローでシステムバス監視タイマ17が停止してしまうと,先に出力したコマンドのアンサ無応答が検出できなくなる。この状態を防ぐため,受信制御部13aでコマンドを受信した状態を保持する出力と,送信制御部15bでコマンドを送信した状態を保持する出力とを発生して,両者の信号が発生している期間にローカルバス監視タイマ16がオーバーフローするとシステムバス監視タイマ17が停止するのをマスクする。
【0040】
また,上記問題点3のような場合,すなわち突き放しモードでローカルバス2からのコマンドを受信した後,システムバス3の使用要求を発生した時バスアービタBA3からの転送許可が発生しないと,システムバス監視タイマ17がオーバーフローするが,突き放しモードではコマンドを受信した時に直ちにアンサが返されるので,エラー応答ができないので,突き放しエラー通知信号を外部に出力する。これにより問題点3を解決する。
【0041】
【発明の実施の形態】
図2はローカルバス監視タイマ(図1の16)の構成を示し,図中,160はタイマイネーブル制御部,161はローカルバス監視タイマ部である。また,図3はタイマイネーブル制御部(160)の説明図であり,A.にその構成が示され,B.にタイムチャートの例を示す。
【0042】
図2及び図3を用いてローカルバス監視タイマの動作を説明する。
図2のローカルバス監視タイマ部161は,カウンタ(図示省略)で構成され,予め設定されたタイマ設定値がローカルバス監視タイマ部161のデータ端子Dへ供給されており,ローカルバス転送開始信号(BS)が発生して,ローカルバス監視タイマ部161のロード端子LDを駆動すると,データ端子Dのタイマ設定値が前記カウンタにロードされカウンタの初期値が設定される。
【0043】
一方,タイマイネーブル制御部160は,図3のA.に示すようにRS(セット・リセット)型のフリップフロップ回路(FFで表示)で構成され,B.に示すようにローカルバス転送開始信号BSが発生するとローカルバスクロックのタイミングによりセットされ,セット出力としてカウンタイネーブル信号ENが発生する。このカウンタイネーブル信号ENが図2のローカルバス監視タイマ部161の端子ENへ供給されるとカウンタの動作が開始される。ローカルバス監視タイマ部161のカウンタの停止条件は,ローカルバスからローカルバス転送完了信号DCが入力することであり,この信号が入力するとローカルバスクロックに同期して図3のA.のフリップフロップ回路がリセットされ,カウンタイネーブル信号ENが無効となり,ローカルバス監視タイマ部161のカウンタのカウントが停止する。
【0044】
もし,ローカルバスからローカルバス転送完了信号DCが入力されないと,そのままカウンタがカウントを続け,タイマ設定値に達すると,図2のローカルバス監視タイマ部161の出力端子からカウンタオーバーフロー信号(OVF)が発生する。この信号はローカルバス監視タイマOVF処理要求信号となって,上記図1の送信制御部15bに入力され,ローカルバスに出力されたコマンドに対する送信先の応答が得られなかった代わりにローカルバス転送完了信号DCを出力してローカルバスの転送を完結させる。また,カウンタオーバーフロー信号(OVF)はシステムバス監視タイマへも供給される。
【0045】
図4はシステムバス監視タイマ(図1の17)の構成を示す。図中,170はタイマイネーブル制御部,171はシステムバス監視タイマ部,172はタイマ処理選択制御部である。また,図5はタイマイネーブル制御部170の構成を示し,図6はタイマ処理選択制御部172の構成を示す。
【0046】
図4のシステムバス監視タイマ部171は,カウンタ(図示省略)で構成され,予め設定されたタイマ設定値がデータ端子Dに供給されており,システムバス使用要求信号RQが発生するとロード端子LDが駆動されてタイマ設定値が前記カウンタに設定される。この時,図5に示すタイマイネーブル制御部170からイネーブル信号ENが発生してシステムバス監視タイマ部171のイネーブル端子ENを駆動して設定されたタイマ設定値のタイマ(カウント)動作が開始される。
【0047】
システムバス監視タイマの停止条件(イネーブル信号ENがオフになる条件)は,システムバスへの転送方式の違いにより異なり,図5を用いて説明する。
図5はタイマイネーブル制御部(図4の170)の構成であり,図5において,1700はD型のフリップフロップ回路(FF),1701〜1703はセットリセット型のフリップフロップ回路(FF),a〜gはアンドまたはオアの論理ゲートである。
【0048】
システムバス使用要求信号RQが発生した時,ローカルバスクロックに同期してFF1700の信号に同期してアンドゲートaを通ってから発生した信号によりFF1701がセットされるとシステムバスタイマのイネーブル信号ENが発生する。
【0049】
この時のシステムバス転送種別(突き放しモードか非突き放しモード)の信号は,上記図1の送信制御部15aによりコマンド内のアンサ要または不要の表示を識別して,突き放しモード(または突き放しアクセス)の場合は,“1”,非突き放しモードの場合は“0”が出力される。
【0050】
突き放しモードの場合(システムバス転送種別信号が“1”の場合)は,転送されるコマンドに対するアンサを期待しないため,システムバス使用要求信号RQが出力されてからシステムバス転送許可信号GRが出力されるまでの期間をカウントする。この場合,システムバス転送許可信号GRが出力されると,アンドゲートb,オアゲートgを介してFF1701をリセットして,システムバスタイマイネーブル信号ENが停止する。
【0051】
非突き放しモードの場合(システムバス転送種別信号が“0”の場合),アンサが返送されるアクセスなので,上記図1の受信制御部13bによりシステムバスからアンサを受信完了した時に発生するアンサ受信完了信号CPTが入力すると,図5のオアゲートe,アンドゲートfを介してFF1701をリセットする信号が発生し,システムバスタイマイネーブル信号ENを停止させる。
【0052】
上記問題点2について説明した場合,すなわちローカルバスからコマンドを受信している間に,システムバスから別の処理装置からのコマンドを受信した場合,一旦アクセスを取り止めて,バスインタフェース制御部(BIF)から,ローカルバスにコマンドを送信する。この時,転送先のバススレーブ(例えば,ローカルメモリ)から応答が無い場合には,ローカルバスの監視タイマがタイマオーバーフローして,スタック状態から開放されるが,タイマオーバーフローでシステムバスのタイマを停止してしまうと,先に出力したコマンドのアンサ無応答が検出できなくなる。この状態を防ぐため,図5のFF1702,1703及びアンドゲートc,dが設けられている。
【0053】
すなわち,FF1702は受信制御部(図1の13a)からコマンドを受信した時に出力される受信処理開始信号を入力して,このコマンド受信状態をラッチする。また,FF1703は,FF1702がコマンド受信状態の後,送信制御部(図1の15b)から送信処理開始信号を入力すると,その状態がラッチされる。従って,この期間は,FF1703の出力(“1”)が反転してアンドゲートdに供給されるので,ローカルバスタイマオーバーフロー(OVF)信号がマスクされて,システムバス監視タイマが停止するのを抑止する。これにより,上記の問題点2の状態でもシステムバス監視タイマからオーバーフローを発生する。
【0054】
図6は監視タイマ処理選択制御部(図4の172)の構成を示す。図6に示すようにアンドゲートa,bで構成される。システムバス監視タイマがオーバーフローした後の動作は,突き放しモードと非突き放しモードで動作が異なる。監視タイマ処理選択制御部は,突き放しモードの時は,ローカルバスの転送は,バスインタフェース制御部(BIF)が,コマンドを受信した時点で完了しているため,エラーを応答することができないので,システムバス転送種別が突き放しモード(上記図5の説明では“1”)の場合,システムバス監視タイマOVFが発生するとアンドゲートaから突き放しエラー通知信号を外部に出力することでシステムバスのスタック状態を通知する。
【0055】
非突き放しモードの場合,システムバス転送種別の信号が“0”となるため,システムバス監視タイマOVFの信号が発生すると,アンドゲートbからシステムバス監視タイマOVF処理要求信号が発生する。この信号は,上記図1の受信制御部13bに通知され,受信制御部13bはシステムバスに転送されたコマンドを受信したスレーブ装置に代わってエラー通知を行うアンサを作成し,ローカルバスに送信してスタックから解除させる。
【0056】
図7,図8は突き放しモード時のローカルバス監視タイマ(図2)とシステムバス監視タイマ(図4)の動作を示し,図7は通常動作時,図8はシステムバス監視タイマがオーバーフローした時の動作である。
【0057】
図7の通常動作時では,ローカルバスでの転送開始信号BSが出力されて,バスインタフェース制御部(BIF)に入力されると,ローカルバス監視タイマが起動され,カウントを開始する。その後,バスインタフェース制御部(BIF)がコマンドを受信するとデータ転送完了信号DCをローカルバスに出力する。ローカルバスに出力されたデータ転送完了信号DCを受信すると,ローカルバス監視タイマ(図2)が停止する。コマンドをシステムバスに転送するためシステムバスの使用要求信号RQを出力すると,同時にシステムバス監視タイマ(図4)が起動されてカウントを開始する。その後,システムバスの転送許可信号GRがバスアービタ(BA)から出力されると,システムバス監視タイマが停止する。なお,図7に示す符号のSBSはシステムバスへの転送開始信号,CPTは転送出力信号を表す。
【0058】
図8の場合,突き放しモード時にシステムバスへ出力するためにシステムバス使用の要求信号RQが出力してから許可信号GRが出力されないと,システムバス監視タイマがオーバーフローし,システムバス使用許可が与えられず突き放しモードの転送が行なわれなかったことを示す非突き放しモードエラー(ERR2)信号を出力する。
【0059】
図9,図10は非突き放しモード時のローカルバス監視タイマ(図2)とシステムバス監視タイマ(図4)の動作を示し,図9は通常動作時,図10はシステムバス監視タイマがオーバーフローした時の動作であり,各図に示す信号を表す各符号は,上記図7,図8の各符号と同じである。
図9の非突き放しモードの通常動作時では,ローカルバスでの転送開始信号BSが出力されて,バスインタフェース制御部(BIF)に入力されると,ローカルバス監視タイマが起動されカウントを開始し,この後バスインタフェース制御部(BIF)がシステムバスに転送するためシステムバス使用の要求信号RQを出力すると,システムバス監視タイマが起動されカウントを開始する。その後,システムバスからコマンドに対するアンサを受信すると,受信完了通知信号CPTを出力すると同時にシステムバス監視タイマを停止させる。次に,バスインタフェース制御部(BIF)は,システムバスから受信したコマンドに対するデータ転送完了信号DCをローカルバスに出力する。ローカルバスに出力されたこの信号DCをローカルバス監視タイマで受信し,ローカルバス監視タイマを停止させる。
【0060】
図10の場合,非突き放しモード時の動作で,システムバスからコマンドに対するアンサが無応答であった場合,ローカルバス監視タイマがオーバーフローし,システムバス監視タイマを停止させ,ローカルバスにデータ転送完了信号DCとアンサが返送されなかったことを示すエラー(ERR1で表示)を出力する。
【0061】
図11は本発明が実施されるマルチプロセッサシステムの構成例である。図11に示すシステムバスは,1系と2系の2つの処理装置が備えられ,各処理装置は,それぞれプロセッサ1,2(CPU1,CPU2),ローカルバス1,2,ローカルメモリ1,2(LM1,LM2),本発明による構成を備えるバスインタフェース制御部1,2(BIF1,BIF2)及びバスアービタ1,2(BA1,BA2)及びシステムコントローラ1,2(SCNT1,SCNT2)が設けられ,更にBA1とBA2からのシステムバスの占用権の調停を行うバスアービタ3(BA3)が設けられている。システムコントローラ(SNCT1,2)は,各処理装置の状態を監視する装置であり,CPU1,2と同じように各ローカルメモリ(LM)にアクセスするバスマスタとして動作する。なお,この構成例ではSCNT1,SCNT1を備えているが,この装置を備えないシステム構成でも差し支えないことはいうまでもない。
【0062】
上記図11に示すようなマルチプロセッサシステムに本発明が適用された場合の各種の動作例におけるエラー検出の動作シーケンスを図12乃至図19に示す。図12乃至図19には各動作例における,ローカルバス1,バスインタフェース制御部1,バスインタフェース制御部2及びローカルバス2の各装置間のコマンド及びアンサの転送動作及び各バスインタフェース制御部(BIF)のローカル監視タイマ(rocal timer で表示)及びシステムバス監視タイマ(system timerで表示)の動作を示す。
【0063】
図12は本発明による動作例1のシーケンスである。この例は,ローカルバス1からローカルバス2へ非突き放しアクセスを送信した時に,アンサが応答されなかった場合である。
【0064】
具体的には,ローカルバス1のCPU1がローカルメモリLM2に非突き放しモードのコマンド(例えばメモリからのデータの読み出し)を発行(図12のa)した場合,バスインタフェース制御部(以下,BIFという)1で受け取られ,ローカルバス監視タイマが▲1▼で示すようにカウントを開始する。次にBIF1からシステムバスを介してBIF2へコマンドが転送されると(同b),システムバス監視タイマが▲2▼で示すようにカウントを開始する。次にBIF2からローカルバス2を介してローカルメモリLM2へコマンドが送信されると(同c),BIF2のローカルバス監視タイマが▲3▼で示すように起動する。
【0065】
この後,ローカルメモリLM2からアンサ(例えば,読み出しデータ)が返って来ないと,BIF1のローカルバス監視タイマがオーバーフローして,BIF1でバスエラー処理が行われて,エラーの応答(同d)をCPU1に対し通知してローカルバス1を開放する。この場合,BIF1のローカルバス監視タイマのオーバーフローの出力によりBIF1のシステムバス監視タイマが停止される。一方,BIF2のローカルバス監視タイマでも,コマンドcを送信した後,設定された時間以上経過してもアンサが返ってこないとタイマオーバーフローが発生して,ローカルバス2へバスエラー信号を出力する(図12のe)。
【0066】
図13は本発明による動作例2のシーケンスである。この例は,ローカルバス1のCPU1からローカルバス2のローカルメモリ2(図11のLM2)へ非突き放しコマンドを送信した同じ時間に,ローカルバス2のCPU2からローカルバス1のローカルメモリ1(図11のLM1)に対し非突き放しコマンドが送信されて,アンサが応答されなかった場合である。順を追って以下に説明する。
【0067】
(1)バスマスタ(CPU等)がローカルバス1からBIF1へ非突き放しモードのコマンド1を送信し,ローカルバス監視タイマが▲1▼で示すように起動し(図13のa1),アンサ待ちとなる。BIF1は受信したコマンド1をシステムバスへ送信し(図13のb1),システムバス監視タイマが▲2▼で示すように起動する。この時,ローカルバス2からBIF2に非突き放しモードのコマンド2が送信され(同a2),▲3▼で示すようにローカルバス監視タイマが起動してアンサ待ちとなる。
【0068】
(2)この後BIF2は,システムバスからコマンド1を受信した後,先にローカルバス2から受け取ったコマンドをシステムバスからBIF1へ転送する(同b2)。先に受信したコマンド2を一時突き返してリトライを指示するアンサを出力する(同c2)。また,転送が一時的に完了するのでローカルバス監視タイマが停止する。これにより転送が一時的に完了するので,ローカルバス2の占用権を得たBIF2は受信したコマンド1をローカルバス1へ出力し(同d1),▲5▼で示すようにローカルバス監視タイマを起動する。
【0069】
(3)BIF1は,システムバスからコマンド2を受信すると,先に受信したコマンド1のローカルバス監視タイマを停止し,一時突き返してリトライを指示するアンサローカルバス1に出力する(同c1)。この後,システムバスから受信したコマンド2をローカルバス1へ出力し(同d2),ローカルバス監視タイマを▲6▼で示すように起動する。この後,BIF1のローカルバス監視タイマがオーバーフローすると,上記図2の構成により処理要求が発生して送信制御部(図1の15b)からバスエラー(図10のERR1)の応答をローカルバス1へ発生し(同e2),ローカルバス1を開放させる(この時, BIF1 のシステムバス監視タイマはローカルバス監視タイマのオーバーフロー出力により停止しない)。
【0070】
(4)ローカルバス2から先のコマンド1に対するアンサ1が発生すると(図13のe1),BIF2でこれを受信することによりローカルバス監視タイマ1が停止し,続いてシステムバスに対しアンサ1が転送され(同f1),BIF1のシステムバス監視タイマは停止する。また,上記のBIF1のローカルバス監視タイマのオーバーフローにより発生したエラーアンサ2がシステムバスへ送出される(同f2)。
【0071】
(5)この後,上記の一時突き返しリトライを受けたローカルバス2のバスマスタが,リトライのコマンド2を発行すると(図13のg2),BIF2は上記システムバスから受け取ったエラーアンサ2(バスエラーを表す)をローカルバス2へ出力する(同h2)。
【0072】
(6)BIF1では,ローカルバス1からリトライのコマンド1を受け取ると(図13のg1),先にシステムバスから受け取ったアンサ1をローカルバス1へ出力する(同h1)。
【0073】
図14は本発明による動作例3のシーケンスである。この例は,上記図13の動作例2と同様にローカルバス1のCPU1からローカルバス2のローカルメモリ2(LM2)へ非突き放しコマンドを送信した同じ時間に,ローカルバス2のCPU2からローカルバス1のローカルメモリ1(LM1)に対し非突き放しコマンドが送信された場合であるが,一旦アクセスを開放してシステムバスからコマンド送信する前にローカルバス1で他のバスマスタがコマンド送信を行う点で異なる。以下に順を追って説明する。
【0074】
(1)上記図13と同様にローカルバス1とローカルバス2からそれぞれ相手のローカルバスへ非突き放しモードのコマンド1,コマンド2を同じ時間に送信すると,BIF1及びBIF2においてそれぞれ一時突き放しリトライをローカルバス1とローカルバス2に出力する(図14のc1,d1)。
【0075】
(2)BIF1がコマンド2をローカルバス1へ送信する前に,ローカルバス1に接続する他のバスマスタ(例えば,図11のSCNT1)がローカルバス1の占用権を得て,ローカルメモリ1(図11のLM1)にアクセスするコマンド3が発生すると(図14のa3),BIF1において▲6▼で示すようにローカルバス監視タイマが起動する。一方,ローカルバス2からコマンド1に対するアンサ1がBIF2及びシステムバスを介してBIF1へ送られてくると(図14のe1,f1),BIF1のシステムバス監視タイマが停止する。
【0076】
(3)BIF1ではローカルバス監視タイマがコマンド3を受信した後,設定された時間内に転送が完了しないためオーバーフローすると,バスエラーが応答されてローカルバス1が開放される(図14のb3)。この後,BIF1からコマンド2がローカルバス1へ送信されて(同d2)ローカルバス監視タイマが起動するが,コマンド2に対しローカルメモリ1が無応答の場合,BIF1のローカルバス監視タイマがオーバーフローして,ローカルバス1に対しバスエラーが応答されて,ローカルバス1が開放される。これにより,リトライとなるコマンド1がローカルバス1から発行されると(図14のg1),先にBIF1がシステムバスから受け取ったアンサ1をローカルバス1へ送出する(同h1)。また,コマンド2に対するタイマオーバーフローによりシステムバスにエラーアンサ2を通知する。
【0077】
(4)BIF2では,ローカルバス2からのリトライのコマンド2を受信するが(図14のg2),システムバスからエラーアンサ2を受信しているので,ローカルバス2に対しエラーアンサ2を応答し(同h2),ローカルバス2を開放する。
【0078】
図15は本発明による動作例4のシーケンスである。この例は,上記図13,図14と同様にローカルバス1からローカルバス2へ非突き放しコマンドを送信した同じ時間に,ローカルバス2からローカルバス1に対し非突き放しコマンドが送信された場合であるが,ローカルバス1がコマンドに応答した後,他のバスマスタがローカルバス1にコマンド送信を行う点で異なる。上記図14と異なる点を中心にして説明する。
【0079】
上記図13と同様にコマンド1,コマンド2を同じ時間に送信され,BIF1で,システムバスからのコマンド2をローカルバス1へ送信した後(図15のd2),ローカルメモリ1から発生したアンサ2をローカルバス1から受信する(同e2)。この後,ローカルバスの他のバスマスタ(例えば,図11のSCNT1)からローカルメモリ1(LM1)にアクセスするコマンド3が発行されると,ローカルバス監視タイマが起動する。この後,ローカルバス監視タイマがオーバーフローすると,バスエラーが応答されて(図15のb3),ローカルバス1が開放される。この後ローカルバス1からリトライのコマンド1が発生すると(同g1),BIF1はシステムバスから受信されていたアンサ1を応答する(同h1)。また,ローカルバス2からのリトライのコマンド2がBIF2で受信されると(同g2),システムバスから受け取ってあるアンサ2を応答する(同h2)。
【0080】
図16は本発明による動作例5のシーケンスである。この例は,上記図13〜図15と同様にローカルバス1からローカルバス2へ非突き放しコマンドを送信した同じ時間に,ローカルバス2からローカルバス1に対し非突き放しコマンドが送信された場合であるが,ローカルバス2が無応答である点で異なる。上記図13〜図15と異なる点を中心に説明する。
【0081】
コマンド1,コマンド2が同じ時間に送信されて,BIF1はシステムバスにコマンド1を送出するとシステムバス監視タイマを起動する。BIF2でシステムバスからのコマンド1をローカルバス2へ送信する(図16のd1)。これと同時にBIF2のローカルバス監視タイマが起動する。この後,コマンド1に対するアンサ1が無応答でBIF2からBIF1に対しアンサ1が応答されないと,BIF1のシステムバス監視タイマがオーバーフローする。この後,ローカルバス1からリトライのコマンド1が発行されると,BIF1はシステムバス監視タイマがオーバーフローしているので,ローカルバス1のコマンド1のアクセスに対してエラー応答を行ってローカルバス1を開放する。
【0082】
図17は本発明による動作例6のシーケンスである。この例は,上記図16と同様にローカルバス1からローカルバス2へ非突き放しコマンドを送信した同じ時間に,ローカルバス2からローカルバス1に対し非突き放しコマンドが送信された時,ローカルバス2が無応答であった場合であるが,BIF2のローカルバス監視タイマがオーバーフローする点で異なる。上記図16と異なる動作について説明する。コマンド1,コマンド2が同じ時間に送信されて,BIF1においてシステムバスへコマンド1を送信する(図17のb1)と同時にBIF1のシステムバス監視タイマが▲2▼で示すように起動する。この後,BIF1がシステムバスからコマンド2を受信し,ローカルバス1にコマンド2を送信してアンサ2を受信する。システムバスからコマンド1を受け取ったBIF2はローカルバス2が開放された時,コマンド1をローカルバス2へ送信すると同時にローカルバス監視タイマを▲4▼で示すように起動する。このコマンド1に対しローカルバス2のローカルメモリ2(LM2)からアンサ1の応答がないと,上記図16と同様にBIF1のシステムバス監視タイマがオーバーフローし,ローカルバス1からのリトライのコマンド1に対しシステムバスオーバーフローのバスエラーを通知するが,BIF2ではローカルバス監視タイマがオーバーフローしてローカルバス2に対しバスエラーを通知する。
【0083】
図18は本発明による動作例7のシーケンスである。この例は,上記図17と同様にローカルバス1からローカルバス2へ非突き放しコマンドを送信した同じ時間に,ローカルバス2からローカルバス1に対し非突き放しコマンドが送信された時,BIF1からローカルバス1へのコマンド2の送信及びシステムバスへのコマンド1の送信に対し両方とも無応答の場合であり,上記図17と相違する点を中心に説明する。
【0084】
BIF1がコマンド1をシステムバスへ送信した時システムバス監視タイマを▲2▼に示すように起動し,BIF2からシステムバスを介して受信したコマンド2をローカルバス1へ送信すると▲5▼で示すようにローカルバス監視タイマが起動する。一方,BIF2は受信したコマンド1をローカルバス2へ送信すると同時に▲4▼で示すようにシステムバス監視タイマが起動する。この後,コマンド1に対するアンサ1がシステムバスから送られてこないとBIF1のシステムバス監視タイマがオーバーフローする。また,BIF1はコマンド2に対するアンサが返ってこないでローカルバス監視タイマがオーバーフローすると,ローカルバス1にローカルバス監視タイマオーバーフローのバスエラーを通知し(図18のe2),システムバスに対しエラーアンサ2を送信する(同f2)。
【0085】
ローカルバス1が開放されてリトライのコマンド1が発行されると(図18のf1),BIF1は,上記したシステムバス監視タイマのオーバーフローによりバスエラーを通知する(同g1)。また,ローカルバス2からコマンド1に対するアンサ1が応答されないと,BIF2のローカルバス監視タイマがオーバーフローして,ローカルバス2にバスエラーを通知し(同e1),リトライのコマンド2が発行されると(同g2),上記システムバスから送られてきたエラーアンサ2によりバスエラーをローカルバス2に通知する(同h2)。
【0086】
図19は本発明による動作例8のシーケンスである。
この例は,ローカルバス1のCPU1からローカルバス2のローカルメモリ2(LM2)へ突き放しコマンド1,2を送信した時,コマンド2に対しシステムバス転送要求信号(GR)が一定時間内に発生しなかった場合である。
【0087】
コマンド1が発行されると(図19のa1),突き放しモードなのでローカルバスにおいてBIF1へコマンドが転送されるとローカル監視タイマが停止しアンサ1が発生する(同b1)。続いてBIF1からシステムバスのバス使用の要求信号RQが発生してシステムバス監視タイマが起動するが使用許可信号GRが発生すると停止し,システムバスへコマンド1が送出され(同c1),コマンド1を受けたBIF2はローカルバス2へコマンド1を転送し(同d1),ローカルバスからアンサ1を受け取る(同e1)。この正常時の,BIF1の各監視タイマの動作は,上記図7に示す通りである。
【0088】
図19において,ローカルバス1からコマンド1に続いてローカルバス2のローカルメモリ2(図11のLM2)へのコマンド2が送信されると,BIF1はアンサ2をローカルバス1へ応答する。この後BIF1でシステムバス使用の要求信号RQを発生して,システムバス監視タイマが起動するが,使用許可信号GRが返って来ないとシステムバス監視タイマがオーバーフローする。この場合の各監視タイマの動作は上記図8に示され,割り込み信号にて突き放しモード時のエラー(ERR2)がローカルバス1へ通知される(図19のc2)。この後,BIF1で許可信号GRが発生すると,要求信号RQが無くなりコマンド2がBIF2へ送信され(同d2),BIF2からローカルバス2に対しコマンド2の送信とアンサ2の受信が行われる(同e2,f2)。
【0089】
【発明の効果】
本発明によればローカルバスがインターロック転送でシステムバスがタイムスプリット転送を用いるマルチプロセッサシステムのバスインタフェース制御方式において次のような効果を奏することができる。
【0090】
(1) 上記問題点1に説明したローカルバスのバスマスタ(例えば,CPU1)から同じローカルバスのバススレーブ(例えば,ローカルメモリLM1)にコマンドを送って応答が無い状態が継続してローカルバスがスタック(ロック)するような状態が本発明によるバスインタフェース制御部のローカルバス監視タイマにより検出して,スタックを解除することが可能となる。
【0091】
(2) 上記問題点2に説明したバスインタフェース制御部における状態,すなわちタイマがオーバーフローするより短い周期で他の処理装置からのアクセスにより停止して,自処理装置のバスマスタからのアクセスが完了できない状態によるバスのスタックを防止することができる。
【0092】
(3) 上記問題点3に説明したような,突き放しモードにおいてバスインタフェース制御部(例えば,BIF1)がローカルバスのバスマスタ(例えば,CPU1)からのコマンドを受信した後,システムバスの使用要求をバスアービタへ出力しても使用許可が発生しない状態になった時に,本発明によりローカルバスに対しエラーを通知することが可能となり,CPU1がスタックするのを防止できる。
【図面の簡単な説明】
【図1】本発明の基本構成図である。
【図2】ローカルバス監視タイマの構成を示す図である。
【図3】タイマイネーブル制御部の説明図である。
【図4】システムバス監視タイマの構成を示す図である。
【図5】タイマイネーブル制御部の構成を示す図である。
【図6】監視タイマ処理選択制御部の構成を示す図である。
【図7】突き放しモード時のローカルバス監視タイマとシステムバス監視タイマの動作を示す図である。
【図8】突き放しモード時のシステムバス監視タイマがオーバーフローした時の動作を示す図である。
【図9】非突き放しモード時のローカルバス監視タイマとシステムバス監視タイマの動作を示す図である。
【図10】非突き放しモード時のシステムバス監視タイマがオーバーフローした時の動作を示す図である。
【図11】マルチプロセッサシステムの構成例を示す図である。
【図12】本発明による動作例1のシーケンスを示す図である。
【図13】本発明による動作例2のシーケンスを示す図である。
【図14】本発明による動作例3のシーケンスを示す図である。
【図15】本発明による動作例4のシーケンスを示す図である。
【図16】本発明による動作例5のシーケンスを示す図である。
【図17】本発明による動作例6のシーケンスを示す図である。
【図18】本発明による動作例7のシーケンスを示す図である。
【図19】本発明による動作例8のシーケンスを示す図である。
【図20】従来の監視タイマシステムを示す図である。
【図21】マルチプロセッサシステムの従来例の構成図である。
【図22】従来のシステム動作のタイムチャートの例を示す図である。
【図23】従来の非突き放しモードと突き放しモードのバスインタフェース制御部の動作を示す図である。
【図24】3つの系の処理装置を備えた場合の説明図(その1)である。
【図25】3つの系の処理装置を備えた場合の説明図(その2)である。
【図26】突き放しモードにおける問題の説明図である。
【符号の説明】
1 バスインタフェース制御部(BIF)
10a,10b 受信用のバッファ
11a,11b 送信用FIFOメモリ
12a,12b 送信用のバッファ
13a,13b 受信制御部
14a,14b FIFO制御部
15a,15b 送信制御部
16 ローカルバス監視タイマ
17 システムバス監視タイマ
2 ローカルバス
3 システムバス
Claims (9)
- 各プロセッサがローカルバスに接続され各ローカルバスがそれぞれバスインタフェース制御部を介してシステムバスに接続され,ローカルバスがインターロック転送を用いシステムバスがタイムスプリット転送を用いるマルチプロセッサシステムのバスインタフェース制御方式において,
バスインタフェース制御部は,ローカルバス監視タイマを備え,
前記ローカルバス監視タイマは,ローカルバスのバスマスタから発行されたコマンドまたはシステムバス側から発行されたコマンドに対応するローカルバス転送開始信号の出力によりタイマイネーブル信号を発生し,アンサ信号に対応するローカルバス転送完了信号の出力によりタイマイネーブル信号を停止するタイマイネーブル制御部と,前記タイマイネーブル制御部からのイネーブル信号の発生により設定された時間監視を開始し,イネーブル信号の停止により時間監視を停止するローカルバス監視タイマ部を備え,
前記ローカルバス監視タイマ部は時間監視を開始した後,設定された時間内にローカルバス転送完了信号が発生しないとローカルバスにエラー応答を要求する信号を出力することを特徴とするバスインタフェース制御方式。 - 請求項1において,
バスインタフェース制御部は,ローカルバスから転送されたコマンドを受信してシステムバスへ転送する時起動してシステムバスに接続されたバススレーブからのアンサを監視するシステムバス監視タイマを備え,
前記システムバス監視タイマは一定時間無応答であることを検出するとローカルバスのバスマスタにエラー通知を行うことを特徴とするバスインタフェース制御方式。 - 請求項2において,
前記システムバス監視タイマは,起動すると設定された時間をカウントするシステムバス監視タイマ部と,システムバス使用要求信号によりイネーブル信号を発生し,システムバスの転送種別に応じてイネーブル信号を制御するタイマイネーブル制御部とを備え,
前記タイマイネーブル制御部は,転送種別が突き放しモードと非突き放しモードに対応してイネーブル信号を停止させる出力を発生する論理回路を備え,
前記論理回路は,突き放しモードでは,システムバス転送許可信号の発生を検出するとイネーブル信号を停止させ,非突き放しモードでは,システムバスからのアンサ受信か,ローカルバス監視タイマのオーバーフローの出力を検出することにより停止する信号を発生することを特徴とするバスインタフェース制御方式。 - 請求項3において,
前記論理回路は,非突き放しモードで,ローカルバスからコマンドを受信している間に,システムバスからのコマンドを受信するとその状態をラッチする手段を備え,この期間にローカルバスがオーバーフローの出力を発生しても前記ラッチ手段によりイネーブル停止信号の発生を禁止することを特徴とするバスインタフェース制御方式。 - 請求項3において,
前記システムバス監視タイマ部は,システムバス監視タイマのオーバーフロー信号が発生すると,システムバス転送種別の信号が,突き放しモードの場合突き放しエラー通知信号を外部に発生し,非突き放しモードの時システムバス監視タイマオーバーフロー処理要求信号を発生するタイマ処理選択制御部を備えることを特徴とするバスインタフェース制御方式。 - 請求項1において,
前記バスインタフェース制御部は,ローカルバスからのコマンドをシステムバスに送信してアンサ待ちの間にシステムバスからコマンドを受信すると,前記ローカルバスからのアクセスを一時突き返し,バスマスタとしてローカルバスに前記システムバスからのコマンドを発行するか,前記システムバスからのコマンドの発行前にローカルバス上の他のバスマスタからのコマンドが発行されるか,または前記システムバスからのコマンドを発行した後にローカルバス上の他のバスマスタがコマンドを発行するかの,何れかが発生すると,前記ローカルバス監視タイマを起動し,
バススレーブからのアンサが一定時間無応答であることを前記ローカルバス監視タイマが検出すると前記ローカルバスにエラー応答を通知することを特徴とするバスインタフェース制御方式。 - 請求項2乃至6の何れかにおいて,
前記バスインタフェース制御部は,ローカルバスからのコマンドをシステムバスに送信してアンサ待ちの間にシステムバスからコマンドを受信すると,前記ローカルバスからのアクセスを一時突き返し,バスマスタとしてローカルバスに前記システムバスからのコマンドを発行した後に,ローカルバスから再度発行されたリトライアクセスに対しシステムバスから無応答であると前記システムバス監視タイマがオーバーフローして前記ローカルバスに対しエラー通知を行うことを特徴とするバスインタフェース制御方式。 - 請求項2乃至7の何れかにおいて,
前記バスインタフェース制御部は,ローカルバスから突き放しのライトコマンドをシステムバスに送信するためバスの使用権を要求した時,バスの使用権が与えられないで一定時間を経過してスタックすると前記システムバス監視タイマがオーバーフローを発生し,前記ライトコマンドを発生したバスマスタに対し割り込み信号でエラーを通知することを特徴とするバスインタフェース制御方式。 - 請求項2乃至8の何れかにおいて,
前記ローカルバス監視タイマと前記システムバス監視タイマの監視時間を同じにして,タイマの設定を容易にすることを特徴とするバスインタフェース制御方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21241896A JP3626292B2 (ja) | 1996-08-12 | 1996-08-12 | バスインタフェース制御方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP21241896A JP3626292B2 (ja) | 1996-08-12 | 1996-08-12 | バスインタフェース制御方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH1055341A JPH1055341A (ja) | 1998-02-24 |
JP3626292B2 true JP3626292B2 (ja) | 2005-03-02 |
Family
ID=16622266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP21241896A Expired - Fee Related JP3626292B2 (ja) | 1996-08-12 | 1996-08-12 | バスインタフェース制御方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3626292B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002008914A1 (fr) * | 2000-07-21 | 2002-01-31 | Fujitsu Limited | Adaptateur d'interface, procede de traitement de temporisation, et support d'enregistrement |
JP6193910B2 (ja) | 2015-04-03 | 2017-09-06 | ファナック株式会社 | インタロックバスとスプリットバスを接続するブリッジ回路を備えたバスシステム |
CN112100115B (zh) * | 2020-08-14 | 2023-07-28 | 江苏航天龙梦信息技术有限公司 | 基于Openmmc的多设备管理方法 |
-
1996
- 1996-08-12 JP JP21241896A patent/JP3626292B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH1055341A (ja) | 1998-02-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0196331B1 (en) | Method of and arrangement for ordering of multiprocessor operations in a multiprocessor system | |
US5119480A (en) | Bus master interface circuit with transparent preemption of a data transfer operation | |
KR970001919B1 (ko) | 다수의 버스간의 정보 전송 시스템 및 방법 | |
JPH0354375B2 (ja) | ||
JP2539021B2 (ja) | 保留バスに割り込み要求を送る割り込み要求発生ノ―ド | |
US5410650A (en) | Message control system for data communication system | |
US5649209A (en) | Bus coupling information processing system for multiple access to system bus | |
JPS621057A (ja) | 転送制御装置 | |
JP3626292B2 (ja) | バスインタフェース制御方式 | |
JPH06337843A (ja) | データ転送制御方法 | |
US6023743A (en) | System and method for arbitrating interrupts on a daisy chained architected bus | |
JPH10320349A (ja) | プロセッサ及び当該プロセッサを用いるデータ転送システム | |
JPS63286949A (ja) | バス制御方式 | |
JP3597621B2 (ja) | ロック転送制御方式 | |
JP3266184B2 (ja) | 入出力制御方法とその装置 | |
JP2992621B2 (ja) | ロック転送方式 | |
JP2825889B2 (ja) | マルチプロセッサシステムにおけるデッドロック回避回路 | |
JPS619747A (ja) | バス制御装置 | |
JPS5932809B2 (ja) | Dmaチヤネルのバス使用権制御方法 | |
KR0126583B1 (ko) | 시스템 제어기 모듈에서의 요청기 읽기 제어기(Requester Read Controller In System Controller In System Control Module) | |
JPH04148266A (ja) | マルチプロセッサシステム | |
JPH0512219A (ja) | プロセス転送方式 | |
JP2504552B2 (ja) | マルチプロセッサコンピュ―タシステムにおいてシステムリソ―スへの充分なアクセスを確保するコマンダノ―ド方法及び装置 | |
JPH05108460A (ja) | メモリ制御方法 | |
JP2001229143A (ja) | マルチプロセッサ・システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040726 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040810 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041006 |
|
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: 20041130 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20041202 |
|
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: 20071210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121210 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131210 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |