JPH09190407A - 制御装置 - Google Patents
制御装置Info
- Publication number
- JPH09190407A JPH09190407A JP261796A JP261796A JPH09190407A JP H09190407 A JPH09190407 A JP H09190407A JP 261796 A JP261796 A JP 261796A JP 261796 A JP261796 A JP 261796A JP H09190407 A JPH09190407 A JP H09190407A
- Authority
- JP
- Japan
- Prior art keywords
- bus
- upper limit
- limit value
- unit
- cpu unit
- 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.)
- Withdrawn
Links
Landscapes
- Control By Computers (AREA)
- Programmable Controllers (AREA)
- Small-Scale Networks (AREA)
- Bus Control (AREA)
Abstract
(57)【要約】
【課題】 マルチバスマスタ機能を搭載した装置におい
て、サイクリック処理時間のバラツキを減少させるよう
にする。 【解決手段】 CPUユニット2は、高頻度でバスアク
セス処理を行う場合には、この一連の処理を終了するま
でシステムバス4を確保し、バスアクセス頻度が低いと
きには、周辺ユニットのバス要求に応じてバスを解放す
る。一方、周辺ユニット2は、転送データ量の上限値を
設定し、転送データ量を上限値以上であると判断した場
合には、この転送データをこの上限値ごとに、複数サイ
クルに分けて転送する。
て、サイクリック処理時間のバラツキを減少させるよう
にする。 【解決手段】 CPUユニット2は、高頻度でバスアク
セス処理を行う場合には、この一連の処理を終了するま
でシステムバス4を確保し、バスアクセス頻度が低いと
きには、周辺ユニットのバス要求に応じてバスを解放す
る。一方、周辺ユニット2は、転送データ量の上限値を
設定し、転送データ量を上限値以上であると判断した場
合には、この転送データをこの上限値ごとに、複数サイ
クルに分けて転送する。
Description
【0001】
【発明の属する技術分野】本発明は、例えばPLC(プ
ログラマブルコントローラ)等に用いられる制御装置に
関し、特にCPUユニットと、バスマスタとなり得る複
数の周辺ユニットと、アービタ回路とを備え、CPUユ
ニットがサイクリック処理を行う制御装置に関する。
ログラマブルコントローラ)等に用いられる制御装置に
関し、特にCPUユニットと、バスマスタとなり得る複
数の周辺ユニットと、アービタ回路とを備え、CPUユ
ニットがサイクリック処理を行う制御装置に関する。
【0002】
【従来の技術】従来、マルチバスマスタ構成でなる制御
装置には、例えば、図6に示すように、マイクロプロセ
ッサを内蔵し、バスマスタとなり得る複数の周辺ユニッ
ト1と、これらの周辺ユニット1からのバス要求を制御
するアービタ回路2とを有し、周辺ユニット1とアービ
タ回路2とを単一のバス10で接続したものがある。
装置には、例えば、図6に示すように、マイクロプロセ
ッサを内蔵し、バスマスタとなり得る複数の周辺ユニッ
ト1と、これらの周辺ユニット1からのバス要求を制御
するアービタ回路2とを有し、周辺ユニット1とアービ
タ回路2とを単一のバス10で接続したものがある。
【0003】このマルチバスマスタ構成でなる制御装置
は、図7に示すような処理を行っている。
は、図7に示すような処理を行っている。
【0004】すなわち、あるバスマスタとしての地位、
すなわち単一バス10を支配し得る権利(以下、単にバ
ス権という)を有する地位にある周辺ユニット1が、メ
モリ,入出力装置等(図示せず)にアクセスする場合に
は、バス10を使用するための要求をアービタ回路2に
出力し(ステップ710)、アービタ回路2からのバス
許可を確認すると(ステップ720)、アクセス対象で
あるメモリ,入出力装置等とバス1を介して接続し(ス
テップ730)、その後、このメモリ,入出力装置等に
対する処理が終了すと、アービタ回路2にバス要求を取
り下げ(ステップ740)、バス権を放棄するような処
理を行っている。
すなわち単一バス10を支配し得る権利(以下、単にバ
ス権という)を有する地位にある周辺ユニット1が、メ
モリ,入出力装置等(図示せず)にアクセスする場合に
は、バス10を使用するための要求をアービタ回路2に
出力し(ステップ710)、アービタ回路2からのバス
許可を確認すると(ステップ720)、アクセス対象で
あるメモリ,入出力装置等とバス1を介して接続し(ス
テップ730)、その後、このメモリ,入出力装置等に
対する処理が終了すと、アービタ回路2にバス要求を取
り下げ(ステップ740)、バス権を放棄するような処
理を行っている。
【0005】
【発明が解決しようとする課題】しかしながら、このよ
うなマルチバスマスタ構成でなる制御装置のうち、CP
Uユニットが定期的にサイクリック処理を行っており、
そのサイクリック処理時間が重要な処理である場合に
は、単にアービタ回路がバス要求を調停するだけでは、
サイクリック処理の途中に処理されるデータ転送時間等
のバラツキにより、サイクリック処理時間にバラツキが
発生するという問題点があった。
うなマルチバスマスタ構成でなる制御装置のうち、CP
Uユニットが定期的にサイクリック処理を行っており、
そのサイクリック処理時間が重要な処理である場合に
は、単にアービタ回路がバス要求を調停するだけでは、
サイクリック処理の途中に処理されるデータ転送時間等
のバラツキにより、サイクリック処理時間にバラツキが
発生するという問題点があった。
【0006】特に、サイクル処理を所定時間以内に実行
しなければならないという制限がある場合には、時には
この制限以内に処理できない場合が発生し、大きな問題
となっていた。
しなければならないという制限がある場合には、時には
この制限以内に処理できない場合が発生し、大きな問題
となっていた。
【0007】そこで、本発明は上述の問題点に鑑み、C
PUユニットがサイクリック処理を行っている場合、サ
イクリック処理時間のバラツキを減少させる制御装置を
提供することを目的とする。
PUユニットがサイクリック処理を行っている場合、サ
イクリック処理時間のバラツキを減少させる制御装置を
提供することを目的とする。
【0008】
【課題を解決するための手段】上述の目的を達成するた
め、請求項1記載の発明は、CPUユニットと、バスマ
スタとなり得る複数の周辺ユニットと、アービタ回路と
を備え、上記CPUユニットがサイクリック処理を行う
制御装置において、上記CPUユニットが、高頻度でバ
スアクセス処理を行う場合には、この一連の処理を終了
するまでバスを確保するバス権確保手段と、上記周辺ユ
ニットが、転送データ量の上限値を設定する第2の上限
値設定手段と、転送データ量が上記第2の上限値設定手
段で設定された上限値より大きいか否かを判断する第2
のデータ量判断手段と、この第2のデータ量判断手段
が、上記転送データ量を上記第2の上限値設定手段で設
定された上限値以上であると判断した場合には、この転
送データをこの上限値ごとに、複数サイクルに分けて転
送する一方、上記転送データ量を上記第2の上限値設定
手段で設定された上限値未満であると判断した場合に
は、このデータをそのまま転送する第2のデータ転送手
段とを具備することを特徴する。
め、請求項1記載の発明は、CPUユニットと、バスマ
スタとなり得る複数の周辺ユニットと、アービタ回路と
を備え、上記CPUユニットがサイクリック処理を行う
制御装置において、上記CPUユニットが、高頻度でバ
スアクセス処理を行う場合には、この一連の処理を終了
するまでバスを確保するバス権確保手段と、上記周辺ユ
ニットが、転送データ量の上限値を設定する第2の上限
値設定手段と、転送データ量が上記第2の上限値設定手
段で設定された上限値より大きいか否かを判断する第2
のデータ量判断手段と、この第2のデータ量判断手段
が、上記転送データ量を上記第2の上限値設定手段で設
定された上限値以上であると判断した場合には、この転
送データをこの上限値ごとに、複数サイクルに分けて転
送する一方、上記転送データ量を上記第2の上限値設定
手段で設定された上限値未満であると判断した場合に
は、このデータをそのまま転送する第2のデータ転送手
段とを具備することを特徴する。
【0009】請求項2記載の発明は、請求項1記載の発
明において、上記アービタ回路が、CPUユニットと周
辺ユニットとがバス使用要求発生時が競合した場合に
は、CPUユニットがバス権を獲得するようにしたこと
を特徴とする。
明において、上記アービタ回路が、CPUユニットと周
辺ユニットとがバス使用要求発生時が競合した場合に
は、CPUユニットがバス権を獲得するようにしたこと
を特徴とする。
【0010】請求項3記載の発明は、請求項1記載の発
明において、上記アービタ回路が、上記周辺ユニットか
らのバス使用要求発生時が競合した場合には、CPUユ
ニットに近い位置に接続されている周辺ユニットにバス
権を獲得させるようにしたことを特徴とする。
明において、上記アービタ回路が、上記周辺ユニットか
らのバス使用要求発生時が競合した場合には、CPUユ
ニットに近い位置に接続されている周辺ユニットにバス
権を獲得させるようにしたことを特徴とする。
【0011】本発明によれば、CPUユニットが、高頻
度でバスアクセス処理を行う場合には、この一連の処理
を終了するまでバスを確保しており、そして、周辺ユニ
ットが、転送データ量が設定された所定の上限値より大
きいか否かを判断し、設定された上限値以上であると判
断した場合には、この転送データをこの上限値ごとに、
複数サイクルに分けて転送する一方、設定された上限値
未満であると判断した場合には、このデータをそのまま
転送する。
度でバスアクセス処理を行う場合には、この一連の処理
を終了するまでバスを確保しており、そして、周辺ユニ
ットが、転送データ量が設定された所定の上限値より大
きいか否かを判断し、設定された上限値以上であると判
断した場合には、この転送データをこの上限値ごとに、
複数サイクルに分けて転送する一方、設定された上限値
未満であると判断した場合には、このデータをそのまま
転送する。
【0012】
【発明の実施の形態】以下、本発明に係る制御装置の一
実施形態を図面に基づいて説明する。
実施形態を図面に基づいて説明する。
【0013】図1はこの実施形態の制御装置の構成を示
すブロック図である。
すブロック図である。
【0014】この実施形態の制御装置は、ビルディング
ブロック型のプログラマブルコントローラ(PLC)の
構成を示すものであって、ベースユニット1と、所定の
サイクリック処理を行うCPUユニット2と、バスマス
タとなり得る複数の周辺ユニット3とで構成されてお
り、CPUユニット2および各周辺ユニット3がデータ
バス等でなるシステムバス4を介して互いに接続されて
いる。
ブロック型のプログラマブルコントローラ(PLC)の
構成を示すものであって、ベースユニット1と、所定の
サイクリック処理を行うCPUユニット2と、バスマス
タとなり得る複数の周辺ユニット3とで構成されてお
り、CPUユニット2および各周辺ユニット3がデータ
バス等でなるシステムバス4を介して互いに接続されて
いる。
【0015】ベースユニット1は、CPUユニット2お
よび周辺ユニット3をスロット内に収納して実装するも
ので、アービタ回路11を備えており、このアービタ回
路11がCPUユニット2および周辺ユニット3間のバ
ス権を調停するよに構成されている。
よび周辺ユニット3をスロット内に収納して実装するも
ので、アービタ回路11を備えており、このアービタ回
路11がCPUユニット2および周辺ユニット3間のバ
ス権を調停するよに構成されている。
【0016】このアービタ回路11は、CPUユニット
2と周辺ユニット3とがバス使用要求発生時が競合した
場合には、CPUユニット2がバス権の獲得を高く設定
するようになっている。また、アービタ回路11は、周
辺ユニット3からのバス使用要求発生時が競合した場合
には、CPUユニット2に近い位置に接続されている周
辺ユニット2ほどバス権の獲得を高く設定するようにな
っている。
2と周辺ユニット3とがバス使用要求発生時が競合した
場合には、CPUユニット2がバス権の獲得を高く設定
するようになっている。また、アービタ回路11は、周
辺ユニット3からのバス使用要求発生時が競合した場合
には、CPUユニット2に近い位置に接続されている周
辺ユニット2ほどバス権の獲得を高く設定するようにな
っている。
【0017】CPUユニット2は、所定のサイクリック
処理を実行しており、制御処理,演算処理等の制御処理
を行うMPU21,システムバス4にデータを転送する
際のインターフェースであるバスI/F22および共有
メモリ23から主に構成されている。
処理を実行しており、制御処理,演算処理等の制御処理
を行うMPU21,システムバス4にデータを転送する
際のインターフェースであるバスI/F22および共有
メモリ23から主に構成されている。
【0018】さらに、CPUユニット2は、高頻度でバ
スアクセス処理を行う場合には、この一連の処理を終了
するまで、アービタ回路11にバス使用要求し続けるよ
うに構成されている。
スアクセス処理を行う場合には、この一連の処理を終了
するまで、アービタ回路11にバス使用要求し続けるよ
うに構成されている。
【0019】周辺ユニット3は、例えばI/Oユニット
でなり、CPUユニット2と同様、制御処理,演算処理
等の制御処理を行うMPU31,システムバス4にデー
タを転送する際のインターフェースであるバスI/F3
2および共有メモリ33から主に構成されている。
でなり、CPUユニット2と同様、制御処理,演算処理
等の制御処理を行うMPU31,システムバス4にデー
タを転送する際のインターフェースであるバスI/F3
2および共有メモリ33から主に構成されている。
【0020】また、周辺ユニット3は、CPUユニット
2と同様、転送データの転送量が所定の上限値以上にな
った場合には、この転送データをこの上限値ごとに分割
し、複数のサイクルに分けて転送するように構成されて
いる。
2と同様、転送データの転送量が所定の上限値以上にな
った場合には、この転送データをこの上限値ごとに分割
し、複数のサイクルに分けて転送するように構成されて
いる。
【0021】ここで、このPLCが行うサイクル処理に
ついて説明する。
ついて説明する。
【0022】このPLCが行うサイクリック処理には、
図2に示すように、CPUユニット2がシステムバス4
の使用頻度が低い期間(a)と、使用頻度が高い期間
(b)とを有している。
図2に示すように、CPUユニット2がシステムバス4
の使用頻度が低い期間(a)と、使用頻度が高い期間
(b)とを有している。
【0023】CPUユニット2のシステムバス4に対す
る使用頻度が低い期間(a)は、例えばCPUユニット
2内部のハードチェック等に要する期間,ツールサービ
スに要する期間,上位リンクサービスに要する期間およ
びCPUのユーザプログラムを実行するのに要する期間
でなりたっている。
る使用頻度が低い期間(a)は、例えばCPUユニット
2内部のハードチェック等に要する期間,ツールサービ
スに要する期間,上位リンクサービスに要する期間およ
びCPUのユーザプログラムを実行するのに要する期間
でなりたっている。
【0024】また、CPUユニット2のシステムバス4
に対する使用頻度が高い期間(b)は、この間CPUユ
ニット2がバス権を常時確保している。
に対する使用頻度が高い期間(b)は、この間CPUユ
ニット2がバス権を常時確保している。
【0025】つまり、CPUユニット2は、期間(a)
の終了時点においてバス権を常時確保し、期間(b)の
終了時点でバス権を開放するようになっているのに対
し、周辺ユニット3は、期間(b)においては、バス権
を確保できないようになっている。
の終了時点においてバス権を常時確保し、期間(b)の
終了時点でバス権を開放するようになっているのに対
し、周辺ユニット3は、期間(b)においては、バス権
を確保できないようになっている。
【0026】次に、この実施例に係る制御装置の動作
を、通常のバスアクセス処理,CPUユニットが一括し
てバスを確保する処理、バス要求が同時に発生した場合
の処理に分けて説明する。
を、通常のバスアクセス処理,CPUユニットが一括し
てバスを確保する処理、バス要求が同時に発生した場合
の処理に分けて説明する。
【0027】(1)通常のバスアクセス処理について 図3はバスマスタとなった周辺ユニット3の処理を示す
フローチャートである。
フローチャートである。
【0028】周辺ユニット3は、CPUユニットまたは
他の周辺ユニット3にデータを転送するに際し、データ
転送量が所定の上限値より大きいか否かを判断する(ス
テップ310)。
他の周辺ユニット3にデータを転送するに際し、データ
転送量が所定の上限値より大きいか否かを判断する(ス
テップ310)。
【0029】周辺ユニット3は、データ転送量が所定の
上限値より大きい場合には(ステップ310;y)、転
送データを上限値以下の大きさに分割し、この分割した
データを共有メモリに格納し(ステップ320)、シス
テムバス4の使用をアービタ回路11に要求する(ステ
ップ330)一方、上限値より小さい場合には(ステッ
プ310;n)、直ちにバス要求をアービタ回路11に
要求する(ステップ330)。
上限値より大きい場合には(ステップ310;y)、転
送データを上限値以下の大きさに分割し、この分割した
データを共有メモリに格納し(ステップ320)、シス
テムバス4の使用をアービタ回路11に要求する(ステ
ップ330)一方、上限値より小さい場合には(ステッ
プ310;n)、直ちにバス要求をアービタ回路11に
要求する(ステップ330)。
【0030】その後、周辺ユニット3は、アービタ回路
11からシステムバス4の使用許可を受けたか否かを判
断する(ステップ340)。その結果、周辺ユニット3
は、アービタ回路11からシステムバス4の使用許可が
なかったと判断した場合には(ステップ340;n)、
ステップ330に戻し同様な処理を行う一方、アービタ
回路11からシステムバス4の使用許可があったと判断
した場合には(ステップ340;y)、システムバス4
を介してCPUユニット2または該当する周辺ユニット
3にデータを転送する(ステップ350)。
11からシステムバス4の使用許可を受けたか否かを判
断する(ステップ340)。その結果、周辺ユニット3
は、アービタ回路11からシステムバス4の使用許可が
なかったと判断した場合には(ステップ340;n)、
ステップ330に戻し同様な処理を行う一方、アービタ
回路11からシステムバス4の使用許可があったと判断
した場合には(ステップ340;y)、システムバス4
を介してCPUユニット2または該当する周辺ユニット
3にデータを転送する(ステップ350)。
【0031】ここで、この転送データは、転送量が上限
値未満の場合には、そのまま転送し、転送量が上限値以
上の場合には、上述したように共有メモリ23に格納さ
れている上限値の大きさに分割されたデータである。
値未満の場合には、そのまま転送し、転送量が上限値以
上の場合には、上述したように共有メモリ23に格納さ
れている上限値の大きさに分割されたデータである。
【0032】この周辺ユニット3がデータを転送し終わ
ると、アービタ回路11にシステムバス4の使用要求を
取り下げ、バスを開放する(ステップ360)。
ると、アービタ回路11にシステムバス4の使用要求を
取り下げ、バスを開放する(ステップ360)。
【0033】続いて、周辺ユニット3は、次のサイクル
において共有メモリ23に格納されている転送データの
すべてを転送し終えたか否かを判断する(ステップ37
0)。
において共有メモリ23に格納されている転送データの
すべてを転送し終えたか否かを判断する(ステップ37
0)。
【0034】周辺ユニット3は、転送データをすべて転
送し終えていない場合には(ステップ370;n)、ス
テップ330に処理を戻し上述と同様な処理を行う一
方、転送データをすべて転送し終えた場合には(ステッ
プ370;y)、この通常のバスアクセス処理の実行を
終了する。
送し終えていない場合には(ステップ370;n)、ス
テップ330に処理を戻し上述と同様な処理を行う一
方、転送データをすべて転送し終えた場合には(ステッ
プ370;y)、この通常のバスアクセス処理の実行を
終了する。
【0035】なお、上述したように、バスマスタとして
CPUユニット2の場合には、上記ステップ310およ
びステップ320の処理を除いて、同様な処理を行うた
め、その処理の説明を省略する。
CPUユニット2の場合には、上記ステップ310およ
びステップ320の処理を除いて、同様な処理を行うた
め、その処理の説明を省略する。
【0036】このように、周辺ユニット3が転送するデ
ータの転送量が所定の上限値より大きい場合には、上限
値に分割して数回分に分けて転送することになるので、
周辺ユニットからのデータ転送時間が均一になり、その
結果、CPUユニット2の1サイクルに要する時間も均
一になり、サイクル処理時間のバラツキをなくすること
ができる。
ータの転送量が所定の上限値より大きい場合には、上限
値に分割して数回分に分けて転送することになるので、
周辺ユニットからのデータ転送時間が均一になり、その
結果、CPUユニット2の1サイクルに要する時間も均
一になり、サイクル処理時間のバラツキをなくすること
ができる。
【0037】(2)CPUユニットが一括してバスを確
保する処理について 図4はCPUユニットが一括してバスを確保する処理を
示すフローチャートである。
保する処理について 図4はCPUユニットが一括してバスを確保する処理を
示すフローチャートである。
【0038】この処理は、CPUユニット2処理中で非
常に高い頻度でシステムバス4を使用する期間(周辺ユ
ニットサービス実行期間)において実行される処理であ
る。
常に高い頻度でシステムバス4を使用する期間(周辺ユ
ニットサービス実行期間)において実行される処理であ
る。
【0039】CPUユニット2は、CPUユーザプログ
ラムを実行し終わると(ステップ410)、アービタ回
路11にシステムバス4の使用要求を出し(ステップ4
20)、所定期間中アービタ回路11からのバス使用許
可を得たか否かを判断する(ステップ430)。
ラムを実行し終わると(ステップ410)、アービタ回
路11にシステムバス4の使用要求を出し(ステップ4
20)、所定期間中アービタ回路11からのバス使用許
可を得たか否かを判断する(ステップ430)。
【0040】CPUユニット2は、アービタ回路11か
らのバス使用許可を得ない場合には(ステップ430;
n)、ステップ420に戻し、再度アービタ回路11に
バス使用要求を行う一方、バス使用許可を得た場合には
(ステップ430;y)、必要な一連のバスアクセス処
理(ステップ440)、例えば、周辺ユニット3にその
実行命令等を出力する。
らのバス使用許可を得ない場合には(ステップ430;
n)、ステップ420に戻し、再度アービタ回路11に
バス使用要求を行う一方、バス使用許可を得た場合には
(ステップ430;y)、必要な一連のバスアクセス処
理(ステップ440)、例えば、周辺ユニット3にその
実行命令等を出力する。
【0041】その後、CPUユニット2は、アービタ回
路11に対してバス使用要求を取下げてバス開放する
(ステップ450)。
路11に対してバス使用要求を取下げてバス開放する
(ステップ450)。
【0042】このように、CPUユニット2が非常に高
い頻度で使用する期間では、この一連の処理を終了する
まで、アービタ回路11にバス使用を要求し続けるよう
に構成されているので、バスアクセス処理毎にバス獲得
処理が必要なくなり、処理が効率化され、サイクル処理
時間を低減することができる。
い頻度で使用する期間では、この一連の処理を終了する
まで、アービタ回路11にバス使用を要求し続けるよう
に構成されているので、バスアクセス処理毎にバス獲得
処理が必要なくなり、処理が効率化され、サイクル処理
時間を低減することができる。
【0043】(3)バス要求が同時に発生した場合の処
理について 図5はバス要求が同時に発生した場合の処理を示すフロ
ーチャートである。
理について 図5はバス要求が同時に発生した場合の処理を示すフロ
ーチャートである。
【0044】このタイミングチャートは、CPUユニッ
ト2のバス要求の有無により期間を大別している。例え
ば、(a)期間および(c)期間は、CPUユニット2
のバス要求がOFFの期間であり、(b)期間および
(d)期間は、ONの期間である。
ト2のバス要求の有無により期間を大別している。例え
ば、(a)期間および(c)期間は、CPUユニット2
のバス要求がOFFの期間であり、(b)期間および
(d)期間は、ONの期間である。
【0045】始めに、#1の周辺ユニット1と#2の周
辺ユニット2とがバス要求をアービタ回路11に同時に
出力すると(および参照)、#1の周辺ユニット3
は、#2の周辺ユニット3より優先度の高い周辺ユニッ
ト3は、アービタ回路11からバスの使用許可を受けて
バス権を獲得し、所定の処理を実行する(参照)。
辺ユニット2とがバス要求をアービタ回路11に同時に
出力すると(および参照)、#1の周辺ユニット3
は、#2の周辺ユニット3より優先度の高い周辺ユニッ
ト3は、アービタ回路11からバスの使用許可を受けて
バス権を獲得し、所定の処理を実行する(参照)。
【0046】その後、#1の周辺ユニット1がバス要求
を開放すると、アービタ回路11からバス使用許可を受
けた、#2の周辺ユニット3は、バス権を獲得し(参
照)、所定の処理を実行する。
を開放すると、アービタ回路11からバス使用許可を受
けた、#2の周辺ユニット3は、バス権を獲得し(参
照)、所定の処理を実行する。
【0047】続いて、CPUユニット2は、アービタ回
路11にバス要求を行い(参照)、アービタ回路11
からバス使用許可を受けて(参照)、バス権を獲得し
(参照)所定の処理を実行し、その処理をし終わると
バス要求を取下げる(参照)。
路11にバス要求を行い(参照)、アービタ回路11
からバス使用許可を受けて(参照)、バス権を獲得し
(参照)所定の処理を実行し、その処理をし終わると
バス要求を取下げる(参照)。
【0048】ここで、#1の周辺ユニット3は、CPU
ユニット2がバス使用許可中、すなわちバス権を保有し
ている最中に、バス要求を行った場合には(参照)、
CPUユニット2がバス権を放棄した後、バス権を獲得
して所定の処理を実行し、バス権を放棄する(aおよび
b参照)。
ユニット2がバス使用許可中、すなわちバス権を保有し
ている最中に、バス要求を行った場合には(参照)、
CPUユニット2がバス権を放棄した後、バス権を獲得
して所定の処理を実行し、バス権を放棄する(aおよび
b参照)。
【0049】その後、CPUユニット2がバス使用をア
ービタ回路11に要求する前に、#2の周辺ユニット3
は、バス要求をアービタ回路11に要求すると(c参
照)、アービタ回路11からのバス使用許可を受けてバ
ス権を得、所定の処理を実行しバス権を放棄する(dお
よびe参照)。
ービタ回路11に要求する前に、#2の周辺ユニット3
は、バス要求をアービタ回路11に要求すると(c参
照)、アービタ回路11からのバス使用許可を受けてバ
ス権を得、所定の処理を実行しバス権を放棄する(dお
よびe参照)。
【0050】ここで、CPUユニット2は、#2の周辺
ユニット2がバス権を保有中に、バス使用をアービタ回
路11に要求しても(f参照)、#2の周辺ユニット3
がバス権を放棄するまで、バス使用許可を得ず、従って
バス権を獲得することができない(gおよびh参照)。
ユニット2がバス権を保有中に、バス使用をアービタ回
路11に要求しても(f参照)、#2の周辺ユニット3
がバス権を放棄するまで、バス使用許可を得ず、従って
バス権を獲得することができない(gおよびh参照)。
【0051】このように、CPUユニット2は、周辺ユ
ニットがバスを開放するまでの待ち時間が発生するが、
周辺ユニットのバスアクセス処理時間がデータ転送量の
上限値が一定であるので、サイクルタイムのバラツキを
一定にすることができる。
ニットがバスを開放するまでの待ち時間が発生するが、
周辺ユニットのバスアクセス処理時間がデータ転送量の
上限値が一定であるので、サイクルタイムのバラツキを
一定にすることができる。
【0052】
【発明の効果】上述のように本発明によれば、CPUユ
ニットまたは周辺ユニットが、それぞれの転送データ量
が上限値以上であると判断した場合には、転送データを
それぞれの上限値ごとに複数サイクルかけて転送するた
め、データ転送処理時間が均一になり、サイクリック処
理のバラツキを減少させることができる。
ニットまたは周辺ユニットが、それぞれの転送データ量
が上限値以上であると判断した場合には、転送データを
それぞれの上限値ごとに複数サイクルかけて転送するた
め、データ転送処理時間が均一になり、サイクリック処
理のバラツキを減少させることができる。
【0053】また、CPUユニットが、高頻度でバスア
クセス処理を行う場合には、この一連の処理を終了する
までバス権を確保するため、逐次バスアクセス処理を行
わなくてよくなり、サイクル処理時間を低減することが
できる。
クセス処理を行う場合には、この一連の処理を終了する
までバス権を確保するため、逐次バスアクセス処理を行
わなくてよくなり、サイクル処理時間を低減することが
できる。
【図面の簡単な説明】
【図1】本発明に係る制御装置の一実施形態の構成を示
すブロック図。
すブロック図。
【図2】この実施形態の制御装置のサイクリック処理を
説明する説明図。
説明する説明図。
【図3】この実施形態のサイクリック処理中のバスアク
セス処理を示すフローチャート。
セス処理を示すフローチャート。
【図4】この実施形態のサイクリック処理中の一括して
バス確保する処理を示すフローチャート。
バス確保する処理を示すフローチャート。
【図5】この実施形態の制御装置の処理タイミングを示
すタイミングチャート。
すタイミングチャート。
【図6】従来にマルチバスマスタ構成でなる制御装置の
構成を示すブロック図。
構成を示すブロック図。
【図7】従来にマルチバスマスタ構成でなる制御装置の
処理を示すフローチャート。
処理を示すフローチャート。
1 ベースユニット 2 CPUユニット 3 周辺ユニット(I/Oユニット) 4 システムバス 11 アービタ回路 21,31 MPU 22,32 バスI/F 23,33 共有メモリ
Claims (3)
- 【請求項1】 CPUユニットと、バスマスタとなり得
る複数の周辺ユニットと、アービタ回路とを備え、上記
CPUユニットがサイクリック処理を行う制御装置にお
いて、 上記CPUユニットは、 高頻度でバスアクセス処理を行う場合には、この一連の
処理を終了するまでバスを確保するバス権確保手段と、 上記周辺ユニットは、 転送データ量の上限値を設定する第2の上限値設定手段
と、 転送データ量が上記第2の上限値設定手段で設定された
上限値より大きいか否かを判断する第2のデータ量判断
手段と、 この第2のデータ量判断手段が、上記転送データ量を上
記第2の上限値設定手段で設定された上限値以上である
と判断した場合には、この転送データをこの上限値ごと
に、複数サイクルに分けて転送する一方、上記転送デー
タ量を上記第2の上限値設定手段で設定された上限値未
満であると判断した場合には、このデータをそのまま転
送する第2のデータ転送手段と、 を具備することを特徴する制御装置。 - 【請求項2】 上記アービタ回路は、CPUユニットと
周辺ユニットとがバス使用要求発生時が競合した場合に
は、CPUユニットがバス権を獲得するようにしたこと
を特徴とする請求項1記載の制御装置。 - 【請求項3】 上記アービタ回路は、上記周辺ユニット
からのバス使用要求発生時が競合した場合には、CPU
ユニットに近い位置に接続されている周辺ユニットにバ
ス権を獲得させるようにしたことを特徴とする請求項1
記載の制御装置。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP261796A JPH09190407A (ja) | 1996-01-10 | 1996-01-10 | 制御装置 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP261796A JPH09190407A (ja) | 1996-01-10 | 1996-01-10 | 制御装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH09190407A true JPH09190407A (ja) | 1997-07-22 |
Family
ID=11534376
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP261796A Withdrawn JPH09190407A (ja) | 1996-01-10 | 1996-01-10 | 制御装置 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH09190407A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005352668A (ja) * | 2004-06-09 | 2005-12-22 | Mitsubishi Electric Corp | バス装置 |
| JP2007249597A (ja) * | 2006-03-15 | 2007-09-27 | Omron Corp | データ転送制御装置 |
| JP2012168635A (ja) * | 2011-02-10 | 2012-09-06 | Toshiba Corp | 二重化制御装置 |
| JP2014075086A (ja) * | 2012-10-05 | 2014-04-24 | Fuji Xerox Co Ltd | 情報処理装置、画像形成装置およびプログラム |
-
1996
- 1996-01-10 JP JP261796A patent/JPH09190407A/ja not_active Withdrawn
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005352668A (ja) * | 2004-06-09 | 2005-12-22 | Mitsubishi Electric Corp | バス装置 |
| JP2007249597A (ja) * | 2006-03-15 | 2007-09-27 | Omron Corp | データ転送制御装置 |
| JP2012168635A (ja) * | 2011-02-10 | 2012-09-06 | Toshiba Corp | 二重化制御装置 |
| JP2014075086A (ja) * | 2012-10-05 | 2014-04-24 | Fuji Xerox Co Ltd | 情報処理装置、画像形成装置およびプログラム |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP0867814B1 (en) | System and method for controlling a bus | |
| US4602327A (en) | Bus master capable of relinquishing bus on request and retrying bus cycle | |
| US5884051A (en) | System, methods and computer program products for flexibly controlling bus access based on fixed and dynamic priorities | |
| US7013357B2 (en) | Arbiter having programmable arbitration points for undefined length burst accesses and method | |
| KR100708096B1 (ko) | 버스 시스템 및 그 실행 순서 조정방법 | |
| JP2996183B2 (ja) | Dma機能を備えたデータ処理装置 | |
| EP1811393A1 (en) | Method and system for data transfer | |
| JPH09190407A (ja) | 制御装置 | |
| JP3766377B2 (ja) | バス制御装置及び情報処理システム | |
| JP4151362B2 (ja) | バス調停方式、データ転送装置、及びバス調停方法 | |
| JP2005165508A (ja) | ダイレクトメモリアクセスコントローラ | |
| JPH10320349A (ja) | プロセッサ及び当該プロセッサを用いるデータ転送システム | |
| JPH0962640A (ja) | 共有メモリのアクセス制御方法 | |
| JPH0830549A (ja) | バス制御装置 | |
| KR100605867B1 (ko) | 동적 우선순위 조정기능을 갖는 버스 중재기와 버스 중재방법 | |
| JPH06266657A (ja) | 情報処理装置 | |
| US5799160A (en) | Circuit and method for controlling bus arbitration | |
| JP2000040060A (ja) | マルチバスマスタ制御方法および装置 | |
| KR100243868B1 (ko) | 주 전산기에서의 중재로직 방법 | |
| JP2823663B2 (ja) | マルチプロセッサシステム | |
| JPH0773136A (ja) | コンピュータシステムの動作方法 | |
| JPH09160868A (ja) | バス調停装置およびバス調停方法 | |
| JPH08137785A (ja) | Dma制御装置 | |
| JPH11143823A (ja) | コンピュータ装置及び同装置に適用するバス制御方法 | |
| JP3677535B2 (ja) | データ転送制御回路 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20030401 |