(57)【特許請求の範囲】
【請求項１】
バスの示すアドレス空間が複数の領域に分割され、複数のバスマスタからの前記バスに対するアクセスを調停するバス調停回路と、各バスサイクル期間の終了を示すバスサイクル終了信号を生成するバスサイクル制御回路とを備えたバス調停システムにおいて、
前記バスマスタは、バス使用要求信号を出力する機能およびバス使用許可信号が得られるまで前記バスに対するアクセスを待機する機能を有すると共に、前記バスに対してアドレスを送出する機能を有するものであり、
前記バス調停回路は、
前記バスマスタ相互の優先順位を定めたバスマスタ優先順位情報を１組とする複数組みのバスマスタ優先順位情報を格納する優先順位情報格納手段と、
該格納手段から、前記複数組みのバスマスタ優先順位情報を繰り返し単位として、前記バスサイクル終了信号に基づいて１バスサイクル毎に１組づつ前記バスマスタ優先順位情報の組を順次的かつ巡回的に選択する優先順位情報選択手段と、
該優先順位情報選択手段によって選択された１組の前記優先順位情報に基づいて、バス使用要求をしているバスマスタのうち当該組において最も優先順位の高いバスマスタに対して１バスサイクルだけバスの使用を許可すべく前記バス使用許可信号を出力するバス使用許可信号生成回路とを具備し、
前記バスサイクル制御回路は、
前記複数の領域毎に１バスサイクル期間の長さを定めたバスサイクル長情報を格納する複数のバスサイクル長情報格納手段と、
前記バスの使用許可を得たバスマスタがバスに対して送出したアドレスに基づいて、前記バスサイクル長情報格納手段からバスサイクル長情報の内の１つを選択するバスサイクル長情報選択手段と、
選択された当該バスサイクル長情報に基づいて、前記バスサイクル終了信号を生成するバスサイクル終了信号生成回路とを具備してなることを特徴とする、バス調停システム。
【請求項２】
前記バスマスタは、バスサイクルに同期してアドレスを送出する機能およびデータを送受する機能を有するとともに、クロック信号に同期して前記バス要求信号を出力する全てのバスサイクルにおいて常にいずれかのバスマスタが前記バスに対してアクセス可機能を有するものであり、
前記バス使用許可信号生成回路は、バスサイクルの終了までにこれに続くバスサイクルの使用許可を与えるバスマスタを予め決定し、バスサイクルの終了と同時に当該バスマスタに対して前記バス使用許可信号を出力する機能を有するものであり、これにより能となされている、請求項１に記載のバス調停システム。
【請求項３】
前記優先順位情報格納手段は、固定的に優先順位を定めたバスマスタ優先順位情報を１組とする複数組みのバスマスタ優先順位情報を格納しているものである、請求項１または２に記載のバス調停システム。
【請求項４】
前記優先順位情報格納手段は、プログラマブルな状態で優先順位を定めたバスマスタ優先順位情報を１組とする複数組みのバスマスタ優先順位情報を格納しているものである、請求項１または２に記載のバス調停システム。
【請求項５】
前記優先順位情報格納手段は、優先順位情報をプログラマブルに格納しうるプログラマブル優先順位情報格納手段と固定された優先順位情報を格納した固定優先順位情報格納手段との組合せを１組とする複数組みの優先順位情報を格納してなるものであり、
前記プログラマブル優先順位情報格納手段と前記固定優先順位情報格納手段とが切替制御手段により切り替え可能となされている、請求項１または２に記載のバス調停システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のバスマスタからのバスに対するアクセスを調停する調停回路を備えたバス調停システムに関する。なお、この明細書においてバスマスタとはバスの使用権を取りうる装置をいい、プロセッサを含む意味において用いるものとする。
【０００２】
【従来の技術】
プロセッサ等のアドレス送出機能を備えた複数のバスマスタがバスを共有するシステムにおいては、バス上でアドレスやデータ等の信号が衝突するのを防止する目的で、複数のバスマスタからバスの使用要求があった場合にそのいずれかに使用権を与えるバス調停を行うことが必要である。
【０００３】
従来、この種のバス調停システムとして、直列調停方式、並列調停方式およびポーリング方式が既知である。
【０００４】
直列調停方式（ディジーチェーン方式）においては、図１４に示すように、複数個のバスマスタＡ、Ｂ、Ｃ・・・Ｎが直列接続される。そしてそれぞれのバスマスタには上位のバスマスタからのバス使用許可信号が入力されるようになされており、かつ該上位のバスマスタがバスの使用を要求していない場合およびバスを使用していない場合には下位のバスマスタに対してバス使用許可信号を出力するようになされている。従って、ある上位のバスマスタがバスの使用を要求している間あるいはバスを使用している間はそれより下位のバスマスタはバスを使用することはできない。
【０００５】
この方式は、回路構成が簡単であると共に、各バスマスタに対しデータの処理量や重要度に応じて優先順位を設定することが可能であるという長所を有する一方において、次のような欠点を有するものであった。即ち、接続されるバスマスタの数が増大するに伴って調停処理時間が増大するのはもとより、下位に位置する優先順位の低いバスマスタのバス使用権の取得が保証されないため多数のバスマスタを有するシステムには適さないという難を有するものであった。また、優先順位がバスマスタの接続順序に対応した固定的なものであるため、バスマスタの処理内容に応じて優先順位を切り替えることができないものであった。
【０００６】
一方、並列調停方式では、図１５に示すように、プライオリティ・エンコーダ及びプライオリティ・デコーダを備えたものである。各バスマスタＡ、Ｂ、Ｃ・・・Ｎは互いに同期したバス使用要求信号を前記プライオリティ・エンコーダ及びデコーダに出力する。するとこのプライオリティ・エンコーダ及びデコーダは所定の優先順位でバス使用許可信号をいずれかのバスマスタに対して出力する。
【０００７】
この方式は各バスマスタに対しデータの処理量や処理の重要度に適応した優先順位を与えることが可能であり、かつ前記直列調停方式の調停処理時間の問題を解消しうるものである。しかしながら、前記直列調停方式と同様に、優先順位の低いバスマスタのバス使用権の取得を保証することができず、また優先順位は固定化されたものであった。
【０００８】
またポーリング方式（図示略）では、バスマスタから発行されるバス使用要求信号を巡回的に問い合わせ、バス使用要求信号を検知した時点で当該バスに対してバス使用許可信号を出力するバス調停回路を備えたものである。
【０００９】
この方式では全てのバスマスタは等価なものとして扱われ、必ずバス使用権を取得することが保証される反面、前記直列調停方式と同様に、接続されるバスマスタの数の増大に伴い調停処理時間が増大するという欠点を有するものであった。またバスマスタに対し優先順位の序列を与えることができないという難をも有するものであった。
【００１０】
【発明が解決しようとする課題】
このように前記従来の方式では、バスマスタに対して優先順位を設定した場合には、優先順位の低いバスマスタがバス使用権を保証されず、そのためにシステム全体としての処理能力を低下させてしまう恐れを有するものであったり、あるいはバスマスタの数が増大するにつれて調停のための処理時間が増大するという不都合を有するものであった。
【００１１】
この発明は上述の問題点に鑑みてなされたものであって、簡単な回路構成でありながら、各バスマスタのバス使用権の配分に重み付けを与えることができ、全てのバスマスタに対して一定期間内においてバス使用権の取得を保証することが可能であり、かつバスマスタの数が増大してもバス調停のための処理時間が増大することのないバス調停システムの提供を目的とする。
【００１２】
また、この発明はいずれのバスマスタもバスを使用していないにも拘わらずバスにアクセスできないという無駄な調停期間を排除し、共有するバスを各バスマスタが効率的に使用できるようになされたバス調停システムの提供をも目的とする。
【００１３】
更に、この発明はバスマスタの処理内容の変化に対応してバスマスタのバス使用権の配分の重み付けを動的に変化させることができ、システム全体としての総合処理能力を高めることが可能なバス調停システムの提供をも目的とする。
【００１４】
【課題を解決するための手段】
而して、この発明は、バスの示すアドレス空間が複数の領域に分割され、複数のバスマスタからの前記バスに対するアクセスを調停するバス調停回路と、各バスサイクル期間の終了を示すバスサイクル終了信号を生成するバスサイクル制御回路とを備えたバス調停システムにおいて、前記バスマスタは、バス使用要求信号を出力する機能およびバス使用許可信号が得られるまで前記バスに対するアクセスを待機する機能を有すると共に、前記バスに対してアドレスを送出する機能を有するものであり、前記バス調停回路は、前記バスマスタ相互の優先順位を定めたバスマスタ優先順位情報を１組とする複数組みのバスマスタ優先順位情報を格納する優先順位情報格納手段と、該格納手段から、前記複数組みのバスマスタ優先順位情報を繰り返し単位として、前記バスサイクル終了信号に基づいて１バスサイクル毎に１組づつ前記バスマスタ優先順位情報の組を順次的かつ巡回的に選択する優先順位情報選択手段と、該優先順位情報選択手段によって選択された１組の前記優先順位情報に基づいて、バス使用要求をしているバスマスタのうち当該組において最も優先順位の高いバスマスタに対して１バスサイクルだけバスの使用を許可すべく前記バス使用許可信号を出力するバス使用許可信号生成回路とを具備し、前記バスサイクル制御回路は、前記複数の領域毎に１バスサイクル期間の長さを定めたバスサイクル長情報を格納する複数のバスサイクル長情報格納手段と、前記バスの使用許可を得たバスマスタがバスに対して送出したアドレスに基づいて、前記バスサイクル長情報格納手段からバスサイクル長情報の内の１つを選択するバスサイクル長情報選択手段と、選択された当該バスサイクル長情報に基づいて、前記バスサイクル終了信号を生成するバスサイクル終了信号生成回路とを具備してなることを特徴とする、バス調停システムを要旨とするものである。
【００１５】
このバス調停システムの概略構成を図１に示す。図示システムにおいては、ｎ個のバスマスタ（Ａ１、Ａ２，Ａ３・・・Ａｎ）が１つの共有バス（１）に接続されている。各バスマスタからそれぞれバス使用要求信号がバス使用許可信号生成回路（２）に出力され、該信号生成回路（２）から各バスマスタにバス使用許可信号が出力されるようになされている。一方、ｍ個の優先順位情報格納手段（Ｂ１、Ｂ２、Ｂ３・・・Ｂｍ）が備えられ、それぞれが優先順位情報選択手段（３）に接続されている。またバスサイクルカウンタ（４）が備えられ、上記優先順位情報選択手段（３）に入力されている。該選択手段（３）により選択された優先順位情報は前記バス使用許可信号生成回路（２）に入力されるようになされている。
【００１６】
本発明においては、常にバスの動作サイクル単位である１バスサイクル毎に、複数組みを繰り返し単位として、バスサイクル終了信号に基づいて、１組づつ順次的かつ巡回的に選択される優先順位情報に基づいて調停を行う方式を採用している。各組の優先順位情報は、いずれも全てのバスマスタの優先順位の序列情報を含むものであり、全ての組みの優先順位情報を選択し終わると最初に選択した組から繰り返して選択するように利用されるものである。各組の優先順位情報はそれぞれ独立したものであり、隣り合った組すなわち隣り合ったバスサイクルにおいてもその優先順位情報は互いに関連性を有するものではない。
【００１７】
このシステムにおいて複数のバスマスタからのバスに対するアクセスの調停は、以下のようにして行われる。すなわち、１バスサイクルにおいて、いずれか１組の優先順位情報格納手段（Ｂ１、Ｂ２、Ｂ３・・・又はＢｍ）が優先順位情報選択手段（３）によって選択される。そして該選択手段（３）によって選択された１組の優先順位情報に基づいて、バス使用を要求しているバスマスタのうち当該組みにおいて最も優先順位の高いバスマスタ（Ａ１、Ａ２、Ａ３・・・又はＡｎ）に対してバスの使用権が与えられる。
【００１８】
具体的には、ある１バスサイクルにおいて選択された優先順位情報格納手段（Ｂ１、Ｂ２、Ｂ３・・・又はＢｍ）に格納された優先順位情報のうち、第１位の優先順位が設定されたバスマスタからのバス使用要求が検知された場合には、そのバスマスタに対してバス使用権が与えられる。しかしこの第１位の優先順位が設定されたバスマスタからのバス使用要求が検知されず、第２位の優先順位が設定されたバスマスタからのバス使用要求が検知された場合には、この第２位の優先順位が設定されたバスマスタに対してバス使用権が与えられる。以下同様にして最も優先順位の高いバスマスタに対してバス使用権が与えられる。
【００１９】
バスの使用許可は必ず１バスサイクル単位でのみ与えられるものである。使用許可が与えられるのは通常次のバスサイクルである。このように１バスサイクル単位でのみ使用許可が与えられるため、バス使用許可の与えられたバスマスタは連続して次のバスサイクルの使用許可を得ることが保証されているわけではない。次のバスサイクルにおいては、新たに上記同様にバス使用権付与の調停が行われることになる。
【００２０】
これにより、バスマスタのバス使用権の配分に重み付けを与えることが可能になると共に、全てのバスマスタがそれぞれ少なくともいずれか１組の優先順位情報において最優先順位を設定されることにより、バスマスタ優先順位情報の組数に対応する所定数のバスサイクルの繰り返し単位の中で、全てのバスマスタがそれぞれ少なくとも１回はバス使用権を獲得することが可能となる。また必ず１バスサイクル期間内にてバス使用権の調停を完了させれば、バスマスタの数が増大してもバス調停のための時間が増大することもない。
【００２１】
前記各バスマスタは、バスサイクルに同期してアドレスを送出する機能およびデータを送受する機能を有するとともに、クロック信号に同期してバス要求信号を出力する機能を有するものであり、前記バス使用許可信号生成回路は、バスサイクルの終了までにこれに続くバスサイクルの使用許可を与えるバスマスタを予め決定し、バスサイクルの終了と同時に当該バスマスタに対してバス使用許可信号を出力する機能を有するものであり、これにより全てのバスサイクルにおいて常にいずれかのバスマスタがバスに対してアクセス可能となされたものであることが望ましい。このように調停することにより、いずれのバスマスタに対してバスの使用権を付与するかのバス調停期間中にいずれのバスマスタもバスの使用ができないという状況を避けることができ、もって効率的なバスの使用が可能となる。
【００２２】
より一層効率的なバスの使用を可能とするためには、前記バスサイクルとして、バスマスタがバススレーブにアクセス可能な最短時間とバスが動作可能である最短時間とでいずれか長い方の時間を１バスサイクルとして設定することが望ましく、このような機能を実現するために、アドレス空間の領域毎に異なるバスサイクル長を設定可能とするようなバスサイクル制御回路を備えることが望ましい。
【００２３】
更にプログラムの実行状況に応じて、バスマスタのバス使用権の配分の重み付けを変化させることができるように、プログラマブルな状態で優先順位を格納するバスマスタ優先順位情報を１組とする複数組みのバスマスタ優先順位情報を格納した優先順位情報格納手段を備えることが望ましい。このシステムの概略構成を図２に示す。なお図１と同様の箇所は対応符号を付してその説明を省略する。
【００２４】
図２に示すプログラマブル優先順位情報格納手段（Ｂ１'、Ｂ２'、Ｂ３'・・・Ｂｍ'）は共有バス（１）に接続され、その優先順位情報はバスマスタより設定されるものとなされている。もっとも特定のバスマスタより優先順位情報が直接設定されるものであっても良く、あるいは図示しない外部の回路より設定されるものであっても良い。
【００２５】
また図３に示すように各優先順位情報格納手段として、上述したような優先順位情報をプログラマブルに格納しうるプログラマブル優先順位情報格納手段と、優先順位情報を予め固定した状態で格納した固定優先順位情報格納手段との組合せを１組とする複数組みの優先順位情報を格納してなるものを採用し、前記プログラマブル優先順位情報格納手段と前記固定優先順位情報格納手段とを切替制御手段により切り替えるようにしても良い。
【００２６】
このシステムの概略構成を図３に示す。この構成において、プログラマブル優先順位情報格納手段（Ｂ１'・・・Ｂｍ'）及び固定／プログラマブル切替制御手段（Ｃ）は共有バス（１）に接続され、その優先順位情報はバスマスタより設定されるものとなされている。もっとも特定のバスマスタより優先順位情報が直接設定されるものであっても良く、あるいは図示しない外部の回路より設定されるものであっても良い。なお図１と同様の箇所は対応符号を付してその説明を省略する。
【００２７】
更に、バスの示すアドレス空間が複数の領域に分割され、これら各領域毎に独立して１バスサイクル期間の長さを設定可能なバスサイクル制御回路を備えたものを必要に応じて採用しても良い。このバスサイクル制御回路としては、前記各領域毎に１バスサイクル期間の長さを定めたバスサイクル長情報を格納する複数のバスサイクル長情報格納手段と、バスの使用許可を得たバスマスタがバスに対して送出したアドレスに基づいて前記バスサイクル長情報格納手段からバスサイクル長情報の内の１つを選択するバスサイクル長情報選択手段と、選択された当該バスサイクル長情報に基づいて、バスサイクル終了信号を生成するバスサイクル終了信号生成回路とを具備してなるものが好適に採用される。
【発明の実施の形態】
以下、この発明の実施の形態を説明する。
【００２８】
ここでは第１バスおよび第２バスを備え、それぞれのバスに対するアクセスを調停するための第１バス調停回路及び第２バス調停回路の双方を備えたシステムの例を挙げて説明する。第１バス調停回路の構成を図４に示す一方、第２バス調停回路の構成を図９に示す。
【００２９】
図４に示す第１バス調停回路は、図示しない４つの通常のバスマスタＡ、Ｂ、Ｃ、Ｄと１つの特権的なバスマスタＳ（以下、特権バスマスタＳという）の計５つのバスマスタからの第１バスに対するアクセスの調停を司るものである。この第１バス調停回路は、１つの特権バスマスタＳからの第１バスの使用要求に対しては必ず次の１バスサイクルにおいて当該第１バスの使用許可を与えるものとしている。一方、他の４つの通常のバスマスタＡ、Ｂ、Ｃ、Ｄからの第１バスの使用要求に対しては優先順位情報に従って最も優先順位の高いバスマスタに対してのみ次の１バスサイクルにおいて使用許可を与えるように調停を行うものである。ここに特権バスマスタＳとしてはＤＲＡＭリフレッシュ制御回路等が想定される一方、通常のバスマスタとしてはプロセッサ等が想定される。
【００３０】
この第１バス調停回路においては、第１のアドレスバス及びリードライト信号、第１のデータバスからなる第１バスの調停を司り、内蔵するレジスタへは第１バスからアクセスされるものとなされている。バスサイクルはクロック信号の１サイクルに相当し、バスサイクル毎に調停が行われる。
【００３１】
また第１バス調停回路では、図３において示したように優先順位情報選択手段によりプログラマブルな優先順位情報と固定された優先順位情報とを切り替えて選択しうるようになされたものである。
【００３２】
上記第１バス調停回路は、図４に示すように、１６個の固定優先順位情報格納手段（101〜116）、１６個のプログラマブル優先順位情報格納手段（レジスタ）（101'〜116'）、アドレスデコーダ（117）、固定／プログラマブル切替制御レジスタ（118）、バスサイクルカウンタ（119）、優先順位情報選択手段（セレクタ）（120）、使用許可信号生成手段（121）、データセレクタ（122）、３ステートバッファ（123、124）および代替アドレス発生手段（125）を備えている。
【００３３】
前記アドレスデコーダ（117）は、第１のアドレスバス及びリードライト信号のデコードを行い、各プログラマブル優先順位情報レジスタ（101'〜116'）の選択信号、データセレクタ（122）の制御信号、３ステートバッファ（123）の制御信号を生成するものである。
【００３４】
前記固定／プログラマブル切替制御レジスタ（118）は、固定優先順位情報格納手段（101〜116）とプログラマブル優先順位情報レジスタ（101'〜116'）を切り換えて、固定優先順位情報又はプログラマブル優先順位情報のいずれかを選択するものである。
【００３５】
前記各プログラマブル優先順位情報レジスタ（101'〜116'）は、各１組のプログラマブルな優先順位情報を格納するレジスタであり、第１バスにアクセスするプロセッサ等のバスマスタがこれら情報を書き換えることできるようになされている。
【００３６】
前記各固定優先順位情報格納手段（101〜116）は、各１組の固定優先順位情報を格納する手段であり、ワイヤードロジックにより構成されている。この情報は書き換え不能である。この例においては、これらの優先順位情報の値の大きさは２ビットであり、４つの優先順位の組み合わせを表わす。但し、この値の大きさは２ビットでなくとも良い。調停対象となるバスマスタの数、必要とされる優先順位の組み合わせの数、回路規模を考慮し最適な値が用いられるべきである。
【００３７】
また、この例においては、固定優先順位情報格納手段（101〜116）及びプログラマブル優先順位情報レジスタ（101'〜116'）の数はともに１６個であり、１６バスサイクルを繰り返しの単位として調停が行われる。但し、この数は１６でなくとも良い。調停対象となるバスマスタの数、及び各バスマスタへのバスサイクルの配分比率、回路規模を考慮し最適な値が用いられるべきである。
【００３８】
前記バスサイクルカウンタ（119）は、第１バスのバスサイクル数をカウントし、１６バスサイクルを繰り返し単位とする現在値を指し示す。カウントの最大値は優先順位情報の組数と等しく設定されるべきである。
【００３９】
前記セレクタ（120）は、上記バスサイクルカウンタ（119）が指し示すバスサイクルの現在値の情報から、１６組の優先順位情報のうちの１組を選択する。
【００４０】
前記使用許可信号生成手段（121）は、バスマスタＡ、バスマスタＢ、バスマスタＣ、バスマスタＤの４つの通常のバスマスタと、１つの特権バスマスタＳからの第１バスの使用要求信号を受け付け、前記セレクタ（120）により選択された優先順位情報からバス使用要求を行っているバスマスタの中で最も優先順位の高いバスマスタに対して第１バスの使用許可信号を生成し、これを当該バスマスタに対して発行する。
【００４１】
ここで特権バスマスタＳからの第１バス使用要求信号を受け付けた場合、他のバスマスタＡ、Ｂ、Ｃ、Ｄからの第１バス使用要求信号やこれらバスマスタＡ、Ｂ、Ｃ、Ｄの優先順位情報に拘わらず、無条件で次の１バスサイクルの使用許可が特権バスマスタＳに与えられる。但し、この発明においてはアクセス対象となるバスマスタの数や特権バスマスタの有無はこの実施の態様に限定されるものではない。
【００４２】
前記データセレクタ（122）は、プロセッサ等のバスマスタより第１バスを介して各レジスタ（118,101'〜116'）の値の読み出しが行われる際に、アドレスデコーダ（117）にて生成された制御信号にしたがって、読み出すデータの選択を行うものである。
【００４３】
前記３ステートバッファ（123）は、アドレスデコーダ（117）にて生成された制御信号によって、データセレクタ（122）より送られるレジスタの値を第１のデータバスに出力するか否かを制御するものである。
【００４４】
もう一方の前記３ステートバッファ（124）は、バスマスタからのバス使用要求信号が全く無い場合に、前記代替アドレス発生手段（125）から発せられる代替アドレスを第１のアドレスバス及びリードライト信号に出力するように作用する。
【００４５】
次に、上述した第１バス調停回路の調停例を説明する。以下に示す調停例においては、説明を簡潔にする目的で、バスマスタＡおよびバスマスタＢのみからバス使用要求信号が発行され、バスマスタＣおよびバスマスタＤからはバス使用要求信号が発行されないものとしている。即ち調停の対象をバスマスタＡおよびバスマスタＢの２つに限定している。
【００４６】
第１バスの１バスサイクルはクロック信号の１サイクルに相当する。バスサイクルカウンタ（119）はバスサイクル毎に値をインクリメントし、０から１５までの値を周期的にカウントする。そして１バスサイクル毎に、バスサイクルカウンタ（119）の値に１対１で対応する優先順位情報格納手段（101,101'〜116,116'）のいずれかが選択され、選択された格納手段に格納されていた優先順位情報が取り出される。この例においては、優先順位情報は２ビットの大きさを持つもので、０、１、２、３の４つの値のうちのいずれか１を示す。
【００４７】
バスサイクルカウンタの値に対応する上記優先順位情報の値の設定例を、図５に示す。この優先順位情報の設定は、固定の優先順位情報およびプログラマブルな優先順位情報のいずれの場合にも適用可能である。また優先順位情報の値０、１、２、３とこれに対応するバスマスタＡ、Ｂ、Ｃ、Ｄの優先順位の序列の設定例を図６に示す。
【００４８】
図７に調停例その１を示し、図８に調停例その２を示す。図７に示す調停例その１および図８に示す調停例その２は、互いに一部異なる設計方式によるものである。両者の相違点は、バスマスタがバスの使用許可を得た際に、即座に自らの発行するバスの使用要求信号にそれを反映可能であるか否か、という点にある。
【００４９】
図７に示す調停例その１を実現する設計方式においては、バスマスタはバスの使用許可を得たサイクル内で、即座にバスの使用要求信号にそれを反映させることが可能であるため、同一のバスマスタが連続してバス使用要求信号を行うことが許されている。
【００５０】
一方、図８に示す調停例その２を実現する設計方式においては、バスマスタはバスの使用許可を得たサイクル内では、バスの使用要求信号にそれを反映させることができないため、バス調停回路はバスの使用許可を与えたサイクルでは、使用許可を与えたバスマスタからの使用要求は無視している。従って、調停例その２の設計方式においては、同一のバスマスタが連続してバスの使用権を得ることはできない。しかしながら、調停例その１の設計方式に比べて設計が容易であり、特に高速での調停が必要とされる場合には有効な設計手法である。
【００５１】
以下に第１バス調停例その１およびその２に共通の点を先ず説明する。
【００５２】
いずれのバスマスタもバス使用要求信号を発行していない場合には、バス調停回路はいずれのバスマスタにもバス使用許可信号を発行しない。例えば最初のバスサイクル（701,801）においては、バスマスタＡ、バスマスタＢのいずれもバス使用要求信号を発行していないので、バス調停回路はいずれのバスマスタに対しても次のバスサイクル（702,802）ではバスの使用を許可しない。
【００５３】
いずれか１つのバスマスタのみがバス使用要求信号を発行している場合には、バス調停回路はそのバスマスタに対してバス使用要求信号を発行する。例えば第２番目のバスサイクル（702,802）においてはバスマスタＡのみがバス使用要求信号を発行しているので、次のバスサイクル（703,803）においてバスマスタＡに使用許可されている。
【００５４】
２つ以上のバスマスタが同時にバス使用要求信号を発行している場合には、バス調停回路は優先順位情報の表す優先順位序列に従って優先順位の高い方のバスマスタを選択し、該バスマスタに対してバス使用許可信号を発行する。例えば第６番目のバスサイクル（706,806）においては、バスマスタＡとバスマスタＢが同時にバス使用要求信号を発行しており、バスマスタＢがバスマスタＡより高い優先順位を設定されているので、次のバスサイクル（707,807）ではバスマスタＢが使用許可されている。
【００５５】
次に前記両調停例の相違点を説明する。
【００５６】
調停例その１においては、あるバスマスタがバスの使用許可を得たサイクルにおいて使用要求信号の発行を終了した場合であって、当該サイクルにおいて別のバスマスタが使用要求信号を発行している場合には、当該別のバスマスタのみが使用要求していることとなる。従って、当該別のバスマスタＡが次の１バスサイクルにおいてバスの使用許可を得る。例えば、図７に示すようにバスマスタＡがバスの使用許可を得た第３番のバスサイクル（703）において使用要求信号の発行を終了しており、当該バスサイクル（703）においてバスマスタＢが使用要求信号を発行しているので、バスマスタＢのみが使用要求していることとなり、次の１バスサイクル（704）ではバスマスタＢが使用許可されている。
【００５７】
これに対し調停例その２では、あるバスマスタがバスの使用許可を得たバスサイクルにおいて使用要求信号の発行を終了していない場合であって、当該バスサイクルにおいては、使用許可を得ているバスマスタからの使用要求信号は無視され、もし別のバスマスタが使用要求信号を発行している場合には、当該別のバスマスタからの使用要求のみを受け付ける。従って、当該別のバスマスタが次の１バスサイクルにおいてバスの使用許可を得る。例えば、バスマスタＡがバスの使用許可を得た第３番のバスサイクル（803）において使用要求信号の発行を終了していないが、当該バスサイクル（803）においてバスマスタＢが使用要求信号を発行している場合には、このバスサイクル（803）ではバスマスタＡの使用要求を無視して、バスマスタＢからの使用要求のみを受け付ける。従って、次の１バスサイクル（804）ではバスマスタＢが使用許可されている。
【００５８】
また調停例その１では、同一のバスマスタが連続してバス使用要求を行った場合（707,708）、同一のバスマスタに対して連続して２バスサイクル以上の使用許可を与えることが可能である。例えばバスマスタＡは第７および第８番目のバスサイクル（707,708）において連続してバスの使用要求をしており、連続して次の２バスサイクル（708,709）において使用許可されている。
【００５９】
これに対して調停例その２では、バスマスタに使用許可を与えたバスサイクル（808）においては、そのバスマスタからの使用要求信号を無視するので、同一のバスマスタに対し、連続した２バスサイクル以上の使用許可を与えることはできない。例えばバスマスタＡは第８番目のバスサイクル（808）において使用許可されているので、当該バスサイクル（808）における使用要求信号は無視され、次のバスサイクル（809）では使用許可されていない。
【００６０】
次に第２バスに対する複数のバスマスタからのアクセスを調停する第２バス調停回路について説明する。この調停回路は、４つのバスマスタの調停を司るものであり、第２のアドレスバス及びリードライト信号、第２のデータバスからなる第２バスの調停を司り、内蔵するレジスタへは第１のバスからアクセスされる。バスサイクルはクロック信号の２〜８サイクル（但し整数のみ）に相当し、バスサイクル毎に調停を行なう。
【００６１】
図９に第２バス調停回路の要部の概略を示す。
【００６２】
この第２バス調停回路は、アドレスデコーダ（217）、固定／プログラマブル切替制御レジスタ（218）、８個の固定優先順位情報格納手段（201〜208）、８個のプログラマブル優先順位情報レジスタ（201'〜208'）、バスサイクルカウンタ（219）、セレクタ（220）、使用許可信号生成手段（221）、データセレクタ（222）、３ステートバッファ（223,224）、代替アドレス発生手段（225）からなる。
【００６３】
第２バスの調停システムには、上記バス調停回路と共に図１０に示すバスサイクル制御回路が含まれる。このバスサイクル制御回路は、バスの示すアドレス空間が複数の領域に分割され、これら各領域毎に独立して１バスサイクル期間の長さを設定可能とするものである。
【００６４】
該バスサイクル制御回路は、前記各領域毎に１バスサイクル期間の長さを定めたバスサイクル長情報を格納する２つのプログラマブル・バスサイクル長情報格納レジスタ（318,319）と、バスの使用許可を得たバスマスタがバスに対して送出したアドレスに基づいて前記バスサイクル長情報レジスタ（318,319）からバスサイクル長情報の内の１つを選択するバスサイクル長情報選択手段（320）と、選択された当該バスサイクル長情報に基づいてバスサイクル終了信号を生成するバスサイクル終了信号生成回路（321）とを備え、更に第１バス・アドレスデコーダ（317）、３ステートバッファ（323）、データセレクタ（322）及び第２バス・アドレスデコーダ（340）を含むものである。
【００６５】
以下、第１バス調停回路との相違点を示す。
【００６６】
第２バス調停回路では第２バスに対する各バスマスタのアクセスの調停を目的としているので、使用許可信号生成手段（221）は、各バスマスタからは第２バス使用要求信号を受け付け、各バスマスタに対し第２バスの使用許可信号を発行する。また、調停の対象となるバスマスタはバスマスタＡ、バスマスタＢ、バスマスタＣ、バスマスタＤの４つである。
【００６７】
固定優先順位情報格納手段（201〜208）およびプログラマブル優先順位情報レジスタ（201'〜208'）共に、その数は８個である。これに伴い、アドレスデコーダ（217）、バスサイクルカウンタ（219）、セレクタ（220）、データセレクタ（222）の回路規模も第１バス調停回路と比べて小さいものとなる。
【００６８】
但し、固定優先順位情報格納手段（201〜208）およびプログラマブル優先順位情報レジスタ（201'〜208'）の数は８個でなくとも良い。調停対象となるバスマスタの数、及び各バスマスタへのバスサイクルの配分比率、回路規模を考慮し最適な値が用いられるべきである。
【００６９】
３ステートバッファ（224）は、バスマスタＡ、Ｂ、Ｃ、Ｄからの要求信号が全く無い場合に、代替アドレス発生手段（225）から発せられる代替アドレスを第２のアドレスバス及びリードライト信号に出力する。
【００７０】
図１１に第２バス調停例を示す。この調停例においても、説明を簡潔にするために、バスマスタＣおよびバスマスタＤからはバス使用要求信号が発行されないものとし、調停の対象をバスマスタＡおよびバスマスタＢの２つに限定している。
【００７１】
第２バスのバスマスタに与えられる１バスサイクル期間の長さは、バスサイクル制御回路によって制御され、クロック信号の２サイクルから８サイクル（但し整数のみ）の範囲に設定可能である。バスサイクル制御回路はバスサイクル終了信号を出力し、バスマスタとバス調停回路とにバスサイクルの終了を知らせる。
【００７２】
また第２バスは大きく２つの領域を持ち、それぞれに異なったバスサイクルを設定されることが可能である。この例ではバスマスタＡがアクセスする領域の１バスサイクルはクロック信号の４サイクル、バスマスタＢがアクセスする領域の１バスサイクルはクロック信号の２サイクルに相当する。
【００７３】
但し、いずれのバスマスタもバスを使用していない期間は、１バスサイクルはクロック信号の１サイクルに相当する。
【００７４】
バス使用許可信号は、バスの使用を許可するバスマスタに対し、１バスサイクルの最初のクロック信号の１サイクル期間のみハイレベルを示す。バス使用許可信号を受領したバスマスタは、このバスサイクルが終了するまでの期間のバス使用を許可される。
【００７５】
バスサイクル終了信号は、１バスサイクルの最後のクロック信号の１サイクル期間のみハイレベルを示し、これ以外の期間はロウレベルを示す。いずれのバスマスタもバスを使用していない期間はハイレベルを出力される。この信号は、全てのバスマスタに対しても共通の信号である。
【００７６】
バスサイクルカウンタ（219）は、バスサイクル毎に値をインクリメントし、０から７の値を周期的にカウントする。
【００７７】
バスサイクル毎に、バスサイクルカウンタ（219）の値に１対１で対応する優先順位情報の値が選択される。この例においては、優先順位情報は２ビットの大きさを持ち、０〜３の４つの値のうちのいずれかを示す。
【００７８】
この例における優先順位情報の内容は、図１２に示されている。ここでは、これが固定の優先順位情報であるか、プログラマブルな優先順位情報であるかは特に規定されていないが、どちらの場合にも適用可能である。
【００７９】
優先順位情報の値は、これに対応するバスマスタの優先順位の序列を表す。ここでも第１バスの調停例と同様の図６に示す設定例が用いられている。
【００８０】
いずれのバスマスタも第２バス使用要求信号を発行していない場合には、第２バス調停回路はいずれのバスマスタにもバス使用許可信号を発行しない。例えば最初のバスサイクル（901）においては、バスマスタＡ、バスマスタＢのいずれもバス使用要求信号を発行していないので、バス調停回路はいずれのバスマスタに対しても次のバスサイクル（902）ではバスの使用を許可しない。
【００８１】
いずれか１つのバスマスタのみがバス使用要求信号を発行している場合には、バス調停回路はそのバスマスタに対してバス使用要求信号を受け付けた次のサイクルでバス使用許可信号を発行し、バスサイクル終了信号を発行するまで当該バスサイクルの使用許可を与える。例えば第２番目のバスサイクル（902）においてはバスマスタＡのみがバス使用要求信号を発行しており、次のバスサイクル（903）の途中においてバス使用終了信号が発行されているので、当該バスサイクル（903）の全ての期間においてバスマスタＡに使用許可されている。
【００８２】
２つ以上のバスマスタが同時にバス使用要求信号を発行している場合には、バス調停回路は優先順位情報の表す優先順位序列に従って優先順位の高い方のバスマスタを選択し、該バスマスタに対してバス使用許可信号を発行する。例えば第６番目のバスサイクル（906）においては、バスマスタＡとバスマスタＢが同時にバス使用要求信号を発行しており、バスマスタＢがバスマスタＡより高い優先順位を設定されているので、次のバスサイクル（907）ではバスマスタＢが使用許可されている。
【００８３】
この例においては、バスマスタはバス使用許可信号をクロック信号の立ち下がりで検知し、その結果を自らの発行するバス使用要求信号に反映している。この例においては、バスマスタに与えられる最短のバスサイクルがクロック信号の２サイクルに相当するために、バスマスタはバスサイクルの終了までに前記動作を完了可能である。従って、同一のバスマスタが連続してバス使用要求を行うことが許されている。
【００８４】
あるバスマスタが使用を許可されているバスサイクル（908）の終了時に、同じバスマスタがバス使用要求信号を発行している場合、この使用要求信号は有効な信号としてバス調停回路に受理される。当該バスマスタがバス使用要求を行っているバスマスタのうちで最も高い優先順位を設定されている場合は次のバスサイクル（909）の使用許可を連続して取得することが可能である。
【００８５】
以下、本発明に係るバス調停システムを備えた高速プロセッサについて説明する。
【００８６】
図１３に高速プロセッサの要部の概略を示す。本実施例にかかるこの高速プロセッサは、１つの中央演算処理プロセッサ（1301）、１つのグラフィック処理プロセッサ（1302）、１つのサウンド処理プロセッサ（1303）、１つのダイレクトメモリ転送（ＤＭＡ）制御プロセッサ（1304）、内部メモリ（1305）、第１バス調停回路（1306）、第２バス調停回路（1307）、入出力制御回路（1308）、タイマ回路（1309）、アナログ／デジタル（Ａ／Ｄ）コンバータ（1310）、ＰＬＬ回路（1311）、クロックドライバ（1312）、低電圧検出回路（1313）、外部メモリインターフェース回路（1314）を有し、必要に応じてＤＲＡＭリフレッシュ制御回路（1315）を有する。
【００８７】
また、第１のアドレスバス及びリードライト信号（1316）と第１のデータバス（1317）が第１バスを構成し、第２のアドレスバス及び第２のリードライト信号（1318）と第２のデータバス（1319）が第２バスを構成している。
【００８８】
第２のアドレスバス及びリードライト信号（1318）は外部アドレスバス及びリードライト信号（1320）に、第２のデータバス（1319）は外部データバス（1321）に、それぞれ外部メモリインターフェース回路（1314）を通じて接続されている。
【００８９】
本プロセッサの外部には、１つ以上の外部リードオンリーメモリ（ＲＯＭ）（1322）、必要に応じて１つ以上の外部ランダムアクセスメモリ（ＲＡＭ）（1323）、水晶振動子（1324）により構成される発振回路、及び必要に応じてスタティックメモリ（ＳＲＡＭ）のデータ保持のためのバッテリ（1325）が必要とされる。
【００９０】
本プロセッサが備える第１バス調停回路（1306）と第２バス調停回路（1307）は、前述の第１及び第２調停回路がそのまま用いられている。
【００９１】
図１３中に示される第１バス調停信号は、第１バス使用要求信号、第１バスの使用許可信号からなり、第２バス調停信号は、第２バス使用要求信号、第２バス使用許可信号、第２バスのバスサイクル終了信号からなる。
【００９２】
ここで、バスマスタＡ、バスマスタＢ、バスマスタＣ、バスマスタＤは、夫々サウンド処理プロセッサ（1303）、グラフィック処理プロセッサ（1302）、ＤＭＡ制御プロセッサ（1304）、中央演算処理プロセッサ（1301）に相当し、特権バスマスタはＤＲＡＭリフレッシュ制御回路（1315）に相当する。
【００９３】
本プロセッサを構成する各部の機能について説明する。
【００９４】
中央演算処理プロセッサ（1301）は、メモリに格納されたプログラムに従い、各種演算やシステム全体の制御を行う。なお、この中央演算処理プロセッサは２４ビットのアドレスバス、８ビットのデータバスを有する８ビットプロセッサである。
【００９５】
グラフィック処理プロセッサ（1302）は、グラフィックデータの合成、カラーテレビジョン受像機に合わせた映像信号の生成を行う。グラフィックデータは、テレビジョン受像機のスクリーンを全て覆う大きさを持つ矩形の画素集合の２次元配列からなるグラフィック要素と、スクリーン上のいずれの位置にも配置可能な１つの矩形の画素集合からなるグラフック要素から合成される。ここでは、前者をテキストスクリーン、後者をスプライトと呼称し、それぞれの矩形の画素集合を共にキャラクタと呼称する。本実施例に用いられたものは最大で２枚のテキストスクリーンと最大で２５６個のスプライトが表示可能である。合成されたグラフックデータより、ＮＴＳＣ規格及びＰＡＬ規格に準ずる受像機に表示可能な映像信号が生成される。
【００９６】
サウンド処理プロセッサ（1303）は、サウンドデータの合成、音声信号の生成を行う。サウンドデータは、基本の音色となるＰＣＭ（パルスコードモジュレーション）データに対し、ピッチ変換及び振幅変調を行い合成される。振幅変調では、中央演算処理プロセッサ（1301）によって指示されるボリューム制御の他に、ピアノ、ドラムといった楽器の波形を再現するためのエンベロープ制御の機能が用意される。
【００９７】
ＤＭＡ制御プロセッサ（1304）は、外部ＲＯＭもしくは外部ＲＡＭから内部メモリへのデータ転送を司る。
【００９８】
内部メモリ（1305）は、マスクＲＯＭ、スタティックメモリ（ＳＲＡＭ）、ダイナミックメモリ（ＤＲＡＭ）のうち、必要なものを備える。ＳＲＡＭのバッテリによるデータ保持が必要とされる場合、本プロセッサ外部にバッテリ（1325）が必要とされる。ＤＲＡＭが搭載される場合、定期的にリフレッシュと呼ばれる記憶内容保持のための動作が必要とされる。
【００９９】
第１バス調停回路（1306）は、第１バスに接続されている各プロセッサからの第１バス使用要求信号を受け付け、第１バスの優先順位情報に従って調停を行い、各プロセッサへのバスの使用許可信号を発行する。本実施例での第１バスのバスサイクルは、クロック信号の１サイクルに相当するので、バス調停回路は前記の動作をクロック信号の１サイクル毎に行う。
【０１００】
第２バス調停回路（1307）は、第２バスに接続されている各プロセッサからの第２バスの使用要求信号を受け付け、第２バスの優先順位情報に従って第２バスの調停を行い、プロセッサへのバス使用許可信号を発行する。本例での第２バスのバスサイクルは、クロック信号の２〜８サイクルに相当するので、バス調停回路は上記の動作をバスサイクル毎に行い、バスサイクル制御回路はバスサイクル終了信号を発行し、バス調停回路およびプロセッサにバスサイクルの終了を知らせる。
【０１０１】
入出力制御回路は（1308）は、人間からの入力を受け付ける外部入力装置や外部の半導体素子との通信などに主に用いられる。
【０１０２】
タイマ回路（1309）は、プログラムが設定した時間間隔に基づき、中央演算プロセッサ（1301）に対し、割り込み信号を発生する機能を有する。
【０１０３】
Ａ／Ｄコンバータ（1310）は、アナログレベルの入力電圧信号をデジタル数値へと変換する。
【０１０４】
ＰＬＬ回路（1311）は、フェイズロックドループ（ＰＬＬ）により、構成され、プロセッサ外部の水晶振動子（1324）より得られる正弦波信号をＭ／Ｎ倍（Ｍ、Ｎは整数）した高周波クロック信号を生成する。
【０１０５】
クロックドライバ（1312）は、ＰＬＬ回路より受け取った高周波信号を、各機能ブロックへのクロック信号を供給するのに充分な信号強度へと増幅する。
【０１０６】
低電圧検出回路（1313）は、電源電圧を監視し、電源電圧が定められた一定電圧以下の時に、ＰＬＬ回路のリセット、その他のシステム全体のリセットを制御する信号を発行する。また、本プロセッサ内部または外部にＳＲＡＭが設けられていて、なおかつＳＲＡＭのバッテリによるデータ保持が要求される場合、電源電圧が定められた一定電圧以下の時に、バッテリバックアップ制御信号を発行する機能を有する。
【０１０７】
外部メモリインターフェース回路（1314）は、第２バスを外部バスに接続するためのインターフェース回路、第２バスのバスサイクル制御回路を備える。バスサイクル制御回路は、第２バスのバスサイクル長（クロック信号２〜８サイクル）の制御機能、メモリマップモードの制御機能、バスサイクル終了信号を生成および出力する機能を有する。
【０１０８】
本高速プロセッサには２種類のメモリマップモード存在し、制御レジスタにより切替が可能である。いずれのメモリマップモードにおいても、外部バスの空間はＲＯＭ空間とＲＯＭ／ＲＡＭ空間の大きく二つに分けられており、それぞれに異なる１バスサイクルのクロック数を指定することが可能である。
【０１０９】
ＤＲＡＭリフレッシュ制御回路（1315）は、一定期間毎に第１バスの使用権を無条件で獲得し、ＤＲＡＭのリフレッシュ動作を制御する。
【０１１０】
本プロセッサにおいては、第１バスは、１６ビットのアドレスバス、８ビットのデータバス、リードライト信号により構成されている。また、第２バスは、２４ビットのアドレスバス、８ビットのデータバス、リードライト信号より構成されている。
【０１１１】
グラフィック処理プロセッサ（1302）、サウンド処理プロセッサ（1303）、ＤＭＡ制御プロセッサ（1304）、入出力制御回路（1308）、タイマ回路（1309）、Ａ／Ｄコンバータ（1310）は、中央演算処理プロセッサ（1301）に対し、割り込み信号を発生する機能を有する。
【０１１２】
本例に示す高速プロセッサにおいて本発明のバス調停システムを用いた場合の第１の効果は、バスマスタである各プロセッサが効率的にバスを共有することが可能となることである。これは共有バスのバススレーブが共有可能となることを意味し、本来各バスマスタが占有し、分散していたメモリを単一のメモリに集積することが可能となる。これによりメモリ資源の節約、配線領域の低減が実現されるのみならず、分散していたメモリ間でのデータ転送の必要が無くなり、バスを更に効率的に利用することが可能となる。
【０１１３】
第２の効果は、処理の内容及び実行状況に応じて最適なバスサイクルの配分が可能となることである。本プロセッサにおいては、処理の内容に応じて各プロセッサへのバスサイクルの配分を変更可能であることにより、目的に応じてシステム全体の性能の最適化が可能となるとともに、処理の実行状況の変化に応じて、動的にバスサイクルの配分を変更可能であることにより、総合的な処理能力を高めることが可能となる。
【図面の簡単な説明】
【図１】本発明に係るバス調停システムを示す概念説明図である。
【図２】本発明に係るバス調停システムを示す変形例の概念説明図である。
【図３】本発明に係るバス調停システムを示す更に他の変形例の概略構成図である。
【図４】本発明に係るバス調停システムにおける第１バス調停回路の実施態様を示す構成図である。
【図５】第１バス調停回路における優先順位情報の設定例を示す表である。
【図６】優先順位情報の優先順位序列例を示す表である。
【図７】第１バス調停回路における調停例その１を示す説明図である。
【図８】第１バス調停回路における調停例その２を示す説明図である。
【図９】本発明に係るバス調停システムにおける第２バス調停回路の実施態様を示す構成図である。
【図１０】バスサイクル制御回路の実施態様を示す構成図である。
【図１１】第２バス調停回路における調停例を示す説明図である。
【図１２】第２バス調停回路における優先順位情報の設定例を示す表である。
【図１３】本発明に係るバス調停システムを備えた高速プロセッサの要部の概略構成図である。
【図１４】従来の直列調停方式によるバス調停システムを示す概略構成図である。
【図１５】従来の並列調停方式によるバス調停システムを示す概略構成図である。
【符号の説明】
１    バス
２、１２１、２２１  バス使用許可信号生成回路
３、１２０、２２０  優先順位情報選択手段
３１８、３１９  バスサイクル長情報格納手段
３２０  バスサイクル長情報選択手段
３２１  バスサイクル終了信号生成回路
Ａ１  バスマスタ（バスマスタＡ）
Ａ２  バスマスタ（バスマスタＢ）
Ａ３  バスマスタ（バスマスタＣ）
Ａｎ  バスマスタ（バスマスタＤ）
B1、B2、B3、Bm、101、116、201、208  優先順位情報格納手段（固定）
B1'、B2',B3',101',116',201',208'  優先順位情報格納手段（プログラマブル）Ｃ、118、218  切替制御手段
【図１】
0003541112.tif 000002
【図２】
0003541112.tif 000003
【図３】
0003541112.tif 000004
【図４】
0003541112.tif 000005
【図５】
0003541112.tif 000006
【図６】
0003541112.tif 000007
【図７】
0003541112.tif 000008
【図８】
0003541112.tif 000009
【図９】
0003541112.tif 000010
【図１０】
0003541112.tif 000011
【図１１】
0003541112.tif 000012
【図１２】
0003541112.tif 000013
【図１３】
0003541112.tif 000014
【図１４】
0003541112.tif 000015
【図１５】
0003541112.tif 000016