(57)【要約】　　　【構成】　　　高速プロセッサは、共有バスを含み、この共有バスに複数のバスマスタがそれぞれ直接接続され、複数のバススレーブがそれぞれ接続される。バス調停回路(1307)は、バススレーブにアクセス可能な最速の時間と共有バスが動作可能である最速の時間の内のどちらか遅い方をバスサイクル期間と定め、そのバスサイクル毎に必ず共有バスのバスサイクル毎に必ずバス使用権の判定を行い、１バスサイクル単位でバスマスタに使用許可信号を与える。さらに外部メモリインターフェース回路(1314)は、バスマスタの発行するアドレスが共有バスのいずれの領域に該当するかをバスサイクル毎に判別し、その領域毎にバスサイクル長レジスタを参照してバスサイクル終了信号をバスマスタに与える。　　【効果】　効率的なバスの利用が可能な、高速プロセッサが得られる。【選択図】　図１５
2004013907.tif 000002
【特許請求の範囲】
【請求項１】
　共有バス、
　それぞれが前記共有バスに直接接続される複数のバスマスタ、
　それぞれが前記共有バスに接続される複数のバススレーブ、
　前記共有バスのバスサイクル毎に必ずバス使用権の判定を行い、前記バスマスタの内１つに１バスサイクル単位の始端で共有バス使用許可信号を与えるバス調停回路を備え、
　前記共有バスは第１の領域と第２の領域に分割され、さらに
　前記共有バス使用許可信号を受領した前記バスマスタの発行するアドレスが前記第１の領域と前記第２の領域のいずれに該当するかを前記共有バスのバスサイクル毎に判別し、前記第１の領域に該当すると判別した場合には第１のバスサイクル期間長を、前記第２の領域に該当すると判別した場合には第２のバスサイクル期間長を当該バスサイクルの長さとして定め、定められたバスサイクルの長さに従って各バスサイクルの終端でバスサイクル終了信号を発行するバスサイクル長制御手段を備え、
　前記バスマスタは、前記共有バス使用許可信号によって前記共有バスにおけるデータの送受を開始し、前記バスサイクル終了信号によってデータの送受を終了する、高速プロセッサ。
【請求項２】
　前記バス調停回路は、前記バスマスタのバスサイクル速度に依存せず、前記共有バスに接続されるバススレーブにアクセス可能な最速の時間と前記共有バスが動作可能である最速の時間の内のどちらか遅い方を前記共有バスのバスサイクル期間と定め、そのバスサイクル毎に必ず前記バス使用権の判定を行う、請求項１記載の高速プロセッサ。
【請求項３】
　前記第１の領域および前記第２の領域を第１の形態で配置する第１のメモリマップモードと、前記第１の領域および前記第２の領域を第２の形態で配置する第２のメモリマップモードとを切り替えるメモリマップモード切替制御レジスタをさらに備え、
　前記第１のメールマップモードおよび前記第２のメモリマップモードは、それぞれ、全ての前記バスマスタに共有される、請求項１または２に記載の高速プロセッサ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばテレビゲーム機器、通信ネットワーク情報機器、携帯用情報機器、通信カラオケ用機器、カーナビゲーション機器、知育玩具、学習教材機器、ワードプロセッサ、実用情報提供機器、工場の生産ライン等で用いられる検査用機器、各種測定機器等において用いられる高速プロセッサに関する。
【背景技術】
【０００２】
　従来より、複数のプロセッサ（バスマスタ）が分担及び協力して処理を行うマルチプロセッサシステムは多数存在する。このようなシステムにおいては、複数のプロセッサ（バスマスタ）が単一のバス及びこのバスに接続された資源を共有する構成が多く見られる。ここにバスに接続される資源とは、メモリ装置、入出力制御装置、その他の機能ブロック等のアドレスを受理する側の装置を指す。アドレスを発行する側のバスマスタに対して、この明細書ではこれらをバススレーブという。このように複数のプロセッサ（バスマスタ）が資源を共有するシステムには、資源の共有化によるシステムの簡略化と資源間のデータ転送の必要性を少なくすることによるシステムの効率化という大きな長所がある。
【０００３】
　しかしながら近年、プロセッサ（バスマスタ）の性能向上はめざましく、メモリ装置等との速度差が広がり、プロセッサ（バスマスタ）とメモリ装置間のデータ転送がプロセッサ（バスマスタ）の処理における大きなボトルネックとなってきている。多くのシステムにおいては、高速なキャッシュメモリ等を用い、このボトルネックを緩和するよう努めている。
【０００４】
　共有バスを備えるマルチプロセッサシステムおいては、各々のプロセッサ（バスマスタ）が共有バスを利用できる期間が単一のプロセッサ（バスマスタ）のみを備えるシステムに比べて少なくなるため、このボトルネックはより大きな問題となる。多くのシステムでは、プロセッサ（バスマスタ）内部のキャッシュメモリや各々のプロセッサ（バスマスタ）が専有するローカルメモリ等を積極的に導入し、共有バスを用いるデータ転送の必要性を可能な限り減らすように努めている。
【０００５】
　また、このボトルネックを解決する別の方法として、プロセッサ（バスマスタ）が複数の外部バスを備える場合もある。その既知の例としては、命令取得用のバスとデータアクセス用のバスとを分離したハーバード・アーキテクチャ・プロセッサが挙げられる。あるいは、メモリアクセス用のバスと入出力制御用のバスを分離したプロセッサの例もある。
【０００６】
　ところで、単一のバスシステムにおいては、全てのバススレーブがこのバスに接続されるが、応答速度（アクセススピード）やデータバス幅に差のあるバススレーブが混在する場合には、バスの利用効率が落ちることになる。
【０００７】
　そこで、図１６に示されるように、データ転送能力の異なるバスを複数設け、各々の転送能力に応じたバススレーブを接続して、バスの利用効率を上げるシステムも存在する。なお、この明細書においてバスのデータ転送能力とは、バスサイクル周波数とデータバスのビット幅の積で比較されるものをいうものとする。この様にデータ転送能力別に複数のバスを設けたシステムの例としては、パーソナルコンピュータやワークステーションに多く見られる階層構造的なバスシステムが挙げられる。
【０００８】
　ＣＰＵ（中央演算処理装置）としてインテル社製ペンティアムプロセッサを搭載した近年のＰＣ／ＡＴ互換機を例に取ると、バスサイクル周波数６０メガヘルツもしくは６６メガヘルツでデータバス幅６４ビットのプロセッサ外部バス、バスサイクル周波数３３メガヘルツでデータバス幅３２ビットのＰＣＩバス、バスサイクル周波数１０メガヘルツ前後でデータバス幅８ビットのＡＴバスの三つの異なるデータ転送能力を持ったバスが備えられるのが一般的である。
【０００９】
　ＤＲＡＭ等の半導体メモリはプロセッサ外部バスに、グラフィック処理装置等の高速なデータ転送が必要とされる周辺装置はＰＣＩバスに、磁性体メモリ等の比較的低速なデータ転送が行われる周辺装置はＡＴバスに接続される。
【００１０】
　このシステムにおいては、ＣＰＵがバスマスタとして直接制御を行っているのはプロセッサ外部バス（高速な第一のバス）に対してのみであり、ＰＣＩバス（低速な第二のバス）とＡＴバス（低速な第三のバス）に関してはバス相互間インターフェース装置が仲介してデータ転送を行っている。一般的には、プロセッサ外部バス（高速な第一のバス）とＰＣＩバス（低速な第二のバス）間をインターフェースするバス相互間インターフェース装置と、ＰＣＩバス（低速な第二のバス）とＡＴバス（低速な第三のバス）間をインターフェースするバス相互間インターフェース装置との二つが備えられる。このシステムにおいては、下位側のバスへのアクセスは上位側のバスを経由して行われることになる。
【００１１】
　ところで、複数のプロセッサ（バスマスタ）がバス及びバススレーブを共有するシステムにおいては、バス調停のためのシステムが不可欠である。何故ならば、バスは時分割方式で共有されており、ある一時点に着目すると一つのプロセッサ（バスマスタ）しかバスを使用できないからである。
【００１２】
　一般的には、プロセッサ（バスマスタ）はバス調停回路に対してバス使用要求を発行し、バス調停回路はこのバス使用要求に基づいて調停を行い、プロセッサ（バスマスタ）はバス調停回路よりバス使用許可を受理した後にバスを使用するといった方式が多く用いられている。
【発明の開示】
【発明が解決しようとする課題】
【００１３】
　しかしながら、上述のシステムでは、ある１つのバスマスタが自らバスを開放するまでの期間、あるいは定められた一定期間、他のバス及びバススレーブは上記１つのバスマスタに占有されてしまう。
【００１４】
　特に、複数のバスマスタを備えたマルチプロセッサシステムにおいては、共有バスの使用効率が悪くなると、システム全体としての処理能力が低くなるという難を有するものであった。
【００１５】
　従来技術において多くみられるようなキャッシュメモリやローカルメモリ等を用いた方式では、システムを安価で構成することは難しい。
【００１６】
　キャッシュメモリは、高速なメモリ素子で構成される必要があるのみならず、データを格納するメモリ素子の他にアドレス情報を格納するメモリ素子、キャッシュメモリと共有バス上のメモリ装置の内容を同一に保つための制御回路等が必要になりシステム全体として高価、複雑になるものであった。
【００１７】
　また、キャッシュメモリやローカルメモリは、共有バス上のメモリ装置と同じ内容のデータを保持することも多く、同一のデータが複数のメモリ装置間で重複して保持されるため、メモリ資源の有効活用という点で望ましくないものであった。
【００１８】
　而して、この発明は、キャッシュメモリ等の手法を用いず、共有バスの使用効率を可能な限り高めることにより、バスマスタとバススレーブ相互間のデータ転送上のボトルネックを解決することを目的とする。
【００１９】
　また共有バスが単一である場合、データ転送能力の異なる全てのバススレーブがこのバスに接続されることになる。これはバスのデータ転送の総量が低くなることを意味し、バスの効率的利用を妨げる要因の一つとなる。この点を鑑みるに、共有バスをデータ転送能力の異なる複数のバスに分離し、各々のデータ転送能力に見合ったバススレーブを接続することは、バスの効率的利用を達成する上で有効な手段である。しかしながら、既知の階層構造的バスシステムには、下位側のバスへのアクセスを行うために上位側のデータ転送幅を消費しなければならないという問題点が存在する。また、バス相互間インターフェース装置内には、下位側のバスをバスマスタとして制御するための機能や、バスのデータ転送能力の差を吸収するためのＦＩＦＯ（ファースト・イン・ファースト・アウト）メモリ等を用いる場合も多く、安価で構成することを目的としたシステムには適さない。
【００２０】
　従って、この発明においては、従来既知の階層構造的バスシステムによらず、安価に構成することができ、しかも効率的なバスの利用が可能な、新規なシステムを構築することをも目的とする。
【００２１】
　またこの発明は、低価格でありながら可能な限り高性能である高速プロセッサの提供をも目的とする。
【００２２】
　ここで調停方式に着目すると、既存の調停方式には、ある時間幅を持つ期間中プロセッサ（バスマスタ）がバスを占有して使用するという方式が多く見られる。このような調停方式においては、プロセッサ（バスマスタ）が内部動作を行っている期間や、内部キャッシュメモリ等にアクセスしている期間中、プロセッサ（バスマスタ）は実際にはバスを使用していないにも拘わらず、他のプロセッサ（バスマスタ）はバスを使用できない。また、バスサイクル速度は、バスの使用権を与えられたプロセッサ（バスマスタ）のバスサイクル速度に依存し、低速なプロセッサ（バスマスタ）がバスを占有する場合はバスの使用効率が落ちることになる。従って、この発明においては、独自のバス調停方式を採用することによってもバスの効率的利用を実現することをも目的とする。
【課題を解決するための手段】
【００２３】
　請求項１の発明は、共有バス、それぞれが前記共有バスに直接接続される複数のバスマスタ、それぞれが前記共有バスに接続される複数のバススレーブ、前記共有バスのバスサイクル毎に必ずバス使用権の判定を行い、前記バスマスタの内１つに１バスサイクル単位の始端で共有バス使用許可信号を与えるバス調停回路を備え、前記共有バスは第１の領域と第２の領域に分割され、さらに前記共有バス使用許可信号を受領した前記バスマスタの発行するアドレスが前記第１の領域と前記第２の領域のいずれに該当するかを前記共有バスのバスサイクル毎に判別し、前記第１の領域に該当すると判別した場合には第１のバスサイクル期間長を、前記第２の領域に該当すると判別した場合には第２のバスサイクル期間長を当該バスサイクルの長さとして定め、定められたバスサイクルの長さに従って各バスサイクルの終端でバスサイクル終了信号を発行するバスサイクル長制御手段を備え、前記バスマスタは、前記共有バス使用許可信号によって前記共有バスにおけるデータの送受を開始し、前記バスサイクル終了信号によってデータの送受を終了する、高速プロセッサである。
【００２４】
　請求項１の発明では、たとえば実施例の第２のバス（１１）である共有バスに、同じく実施例のバスマスタがそれぞれ直接接続され、バススレーブがそれぞれ接続される。バス調停回路は、その共有バスのバスサイクル毎にバス使用権を判定し、バスマスタに使用許可を１バスサイクル単位で与える。
【００２５】
　共有バスは実施例の第２バス領域Ａと第２バス領域Ｂとのように、第１の領域および第２の領域に分割される。そして、たとえば実施例の外部メモリインターフェース回路（図１５：１３１４）のようなバスサイクル長制御手段は、使用権を有するバスマスタからのアドレスをたとえばデコードしてそのアドレスが第１の領域または第２の領域のいずれに属するかを判別し、たとえば判別した領域に対応するバスサイクル長制御レジスタを参照することによって、バスサイクル終了信号を生成する。したがって、バスマスタは、バス使用許可信号を受けてデータの送受を開始し、バスサイクル終了信号に応答しててデータの送受を終了する。
【００２６】
　請求項２の発明は、前記バス調停回路は、前記バスマスタのバスサイクル速度に依存せず、前記共有バスに接続されるバススレーブにアクセス可能な最速の時間と前記共有バスが動作可能である最速の時間の内のどちらか遅い方を前記共有バスのバスサイクル期間と定め、そのバスサイクル毎に必ず前記バス使用権の判定を行う、請求項１記載の高速プロセッサである。
【００２７】
　請求項３の発明は、前記第１の領域および前記第２の領域を第１の形態で配置する第１のメモリマップモードと、前記第１の領域および前記第２の領域を第２の形態で配置する第２のメモリマップモードとを切り替えるメモリマップモード切替制御レジスタをさらに備え、前記第１のメールマップモードおよび前記第２のメモリマップモードは、それぞれ、全ての前記バスマスタに共有される、請求項１または２に記載の高速プロセッサである。
【００２８】
　前記バスマスタとしては、前記バス調停回路に対して、バス使用要求信号を出力する機能、バス使用許可信号が得られるまで前記バスに対するアクセスを待機する機能および前記バスに対してアドレスを送出する機能を、接続された前記バス毎に独立に有するものであって、接続された前記バスに対してバス毎に独立したインターフェースを備えているものを用いることが好ましい。
【００２９】
　上記インターフェースとしては、前記バスに対するアドレスの出力・非出力を制御する、バス毎に独立した複数組の３ステートバッファと、前記バスに対するデータの入出力および接続・非接続を制御する、バス毎に独立した複数組の双方向３ステートバッファと、バス調停回路からのバス使用許可に基づいて３ステートバッファを制御する手段とを備えてなるものを用いても良い。
【００３０】
　前記プロセッサとしては、少なくともいずれかが論理アドレスをプロセッサの内部で発行する手段と、発行された論理アドレスをデコードするデコーダと、デコードされたアドレス情報に基づいて複数のバスの内の一つを選択してバス使用要求信号を出力する手段と、論理アドレスの内の必要なアドレス情報のみ選択して物理アドレスを生成する手段、あるいは論理アドレスを変換して物理アドレスを生成する手段と、生成された物理アドレスをバスに対して出力する前記複数組の３ステートバッファとを備え、これにより、バス毎に独立な複数の物理アドレス空間を単一の論理アドレス空間の内の一部に割り当てられるものとなされたものであることが望ましい。
【００３１】
　また前記バス調停回路は、バスマスタ相互の優先順位を定めたバスマスタ優先順位情報を１組とする複数組みのバスマスタ優先順情報を格納する優先順位情報格納手段と、該格納手段から、前記複数組みのバスマスタ優先順位情報を繰り返し単位として、１バスサイクル毎に１組づつ前記バスマスタ優先順位情報を順次的に選択する優先順位情報選択手段と、該選択手段によって選択された１組の前記優先順位情報に基づいて、バス使用要求をしているバスマスタのうち当該組において最も優先順位の高いバスマスタに対して１バスサイクルだけバスの使用を許可すべくバス使用許可信号を出力するバス使用許可信号生成回路とを具備してなるものであることが望ましい。
【００３２】
　更に、前記の全ての構成要素が単一の半導体素子内に集積されてなるものであっても良い。
【００３３】
　また前記プロセッサとして、１または複数の中央演算処理プロセッサと、グラフィック処理を行いビデオ信号を発生する手段を備えるプロセッサと、サウンド処理を行いオーディオ信号を発生する手段を備えるプロセッサとを含むもの、前記バスとして、半導体素子内部の機能ブロック及び高速な半導体メモリとのデータ転送、交換を司る第１のバスと、半導体素子外部の周辺装置及び低速な半導体メモリとのデータ転送、交換を司る第２のバスとを含むもの、前記バススレーブとして前記第１のバスに接続される半導体メモリを含むもの、前記バス調停回路として前記第１のバスの調停を司る第１のバス調停回路と、前記第２のバスの調停を司る第２のバス調停回路とを含むものを用いることが望ましい。
【発明の効果】
【００３４】
　この発明によれば、バスサイクル毎に必ず使用許可の判別を行い、１バスサイクル単位で使用許可信号を与え、さらにバスマスタからのアドレスがどの領域のものかに応じて、その領域毎に設定されたバスサイクル長で終了信号を与えるようにしているので、効率的なバスの利用が可能な、高速プロセッサが得られる。
【発明を実施するための最良の形態】
【００３５】
　以下、この発明にかかる高速プロセッサの基本概念を図１に基づいて説明する。
【００３６】
　図１に示すように、このシステムは、一又は複数のバスマスタ（１）（２）と、データ転送能力あるいは動作速度の異なる複数のバス（１０）（１１）と、前記各バスの転送能力あるいは動作速度に対応した速度で応答可能な複数のバススレーブ（２０）（２１）とを備えている。
【００３７】
　前記各バススレーブ（２０）（２１）は、それに対応する転送能力あるいはその応答速度に対応する動作速度を有する前記いずれかのバス（１０）（１１）にそれぞれ接続されている。ここにいずれのバス（１０）（１１）もそれぞれ独立したアドレスバスおよびデータバスを有するものである。而して、前記バスマスタ（１）（２）が、前記各バス（１０）（１１）のアドレスバスおよびデータバスに直接接続されている。ここにこの明細書において直接接続されているとは、図１６に示す従来既知の階層構造的バスシステムのようにバス相互間に介在されたバス相互間インターフェースを介することなく各バスマスタ（１）（２）が各バス（１０）（１１）に接続されていることを意味するものとする。いうまでもなくバスマスタ（１）（２）とバス（１０）（１１）とは、従来既知のインターフェースを介して接続されるものであるが、このインターフェースは前記バス相互間インターフェースと比べて極めて構成が簡素なものである。
【００３８】
　更に各バス（１０）（１１）には、それぞれ複数の前記バスマスタ（１）（２）からのバスに対するアクセスを調停する図示しないバス調停回路が備えられている。もっとも、バスマスタが単一の場合には基本的にはバス調停回路は不要である。
【００３９】
　なお、前記バスマスタ（１）（２）は、上記バス調停回路に対して、バス使用要求信号を出力する機能、バス使用許可信号が得られるまで前記バスに対するアクセスを待機する機能、前記バスに対してアドレスを送出する機能およびバス調停回路の定めるバスサイクル期間内にてデータの送受を完結させる機能を有するものであって、接続された前記バス（１０）（１１）に対してバス毎に独立した図示しないインターフェースを備えている。
【００４０】
　該インターフェースとしては、前記バス（１０）（１１）に対するアドレスの出力・非出力を制御する、バス毎に独立した複数組の３ステートバッファと、前記バス（１０）（１１）に対するデータの入出力および接続・非接続を制御する、バス毎に独立した複数組の双方向３ステートバッファと、前記バス調停回路からのバス使用許可に基づいて前記３ステートバッファを制御する手段とを備える。
【００４１】
　少なくとも前記いずれかのバスマスタ（１）（２）は、論理アドレスをバスマスタ内部で発行する手段と、発行された論理アドレスをデコードするデコーダと、デコードされたアドレス情報に基づいて複数のバスの内の一つを選択してバス使用要求信号を出力する手段と、論理アドレスの内の必要なアドレス情報のみ選択して物理アドレスを生成する手段、あるいは論理アドレスを変換して物理アドレスを生成する手段と、生成された物理アドレスをバスに対して出力する前記複数組の３ステートバッファとを備え、これにより、バス毎に独立な複数の物理アドレス空間を単一の論理アドレス空間の内の一部に割り当てられるものとなされる。
【００４２】
　前記バス調停回路は、前記バススレーブ（２０）（２１）にアクセス可能な最速の時間とバスが動作可能である最速の時間の内のどちらか遅い方をバスサイクル時間と定め、このバスサイクル毎に必ずバス使用権の判定を行い、１バスサイクル単位でのみバスマスタ（１）（２）にバス（１０）（１１）の使用許可を与える機能を備え、前記バスマスタ（１）（２）は、前記バスサイクル期間内にてデータを送受する機能を備えている。
【００４３】
　また前記バス調停回路は、バスマスタ相互の優先順位を定めたバスマスタ優先順位情報を１組とする複数組みのバスマスタ優先順情報を格納する優先順位情報格納手段と、該格納手段から、前記複数組みのバスマスタ優先順位情報を繰り返し単位として、１バスサイクル毎に１組づつ前記バスマスタ優先順位情報を順次的に選択する優先順位情報選択手段と、該選択手段によって選択された１組の前記優先順位情報に基づいて、バス使用要求をしているバスマスタのうち当該組において最も優先順位の高いバスマスタに対して１バスサイクルだけバスの使用を許可すべくバス使用許可信号を出力するバス使用許可信号生成回路とを具備している。
【００４４】
　ところで、前記の全ての構成要素、即ちバスマスタ（１）（２）、バス（１０）（１１）およびバススレーブ（２０）（２１）を含む全ての構成要素は、単一の半導体素子内に集積されている。
【００４５】
　この発明にかかる高速プロセッサは、バスマスタ（１）（２）とバススレーブ（２０）（２１）間のデータ転送上のボトルネックを解決するために、上述のようにデータ転送能力の異なる複数のバス（１０）（１１）を備え、またこれらのバス（１０）（１１）にバスマスタ（１）（２）が直接アクセスする手法を採用している。これにより、データ転送能力の異なるバススレーブ（２０）（２１）が混在することによるバスの使用効率の低下を防ぎ、効率的なバス使用を実現できる。
【００４６】
　また、階層構造的バスシステムにみられる転送能力の高いバス（１０）のデータ転送幅が転送能力の低いバス（１１）によって消費されるという問題も解決される。更に、バス（１０）（１１）間をインターフェースする装置等としては特別な回路は必要とされないため、安価にシステムを構成することが可能となる。
【００４７】
　また、複数のバスマスタ（１）（２）が同時に同一のバスを使用することを要求した場合において、バスの使用権の判定をバス毎に独立して行なうことにより、バスマスタ（１）（２）は使用許可を与えられたバスのみを使用し、他のバスを占有することはない。従って、バスマスタが使用していないバス及びバススレーブを占有する機会が減り、バスの使用効率を一層向上させることが可能となる。
【００４８】
　バス調停回路として、バスの使用許可をバスサイクル毎に判定し、１バスサイクル単位でのみバス使用許可をバスマスタに対して与えるものとすることにより、バスサイクルは常に有効なアクセスを行うバスマスタに対して動的に割り当てられ、内部動作等のバスを使用していない期間中にバスマスタがバスを占有することが無くなる。
【００４９】
　また、バスサイクルの速度をバス調停回路によって定めれば、バスマスタのバスサイクル速度に依存しないものとすることができる。従って、バスマスタ間でバスサイクルに速度差のある場合でも、常にバスは最高速度にて動作可能である。バスマスタのバスサイクル速度が低速な場合には、例えばデータバスにリードバッファ、ライトバッファを設けたり、バス使用要求信号の出力を遅延させるといった手法にて、バスサイクルの速度差を緩衝すれば良い。
【００５０】
　また、複数のバスが有する物理アドレス空間を、単一の論理アドレス空間内に配置することにより、全てのバスの物理アドレス空間を統一的に扱うことが可能となるばかりか、一つの処理単位としてのデータブロックを、複数のバスの物理アドレス空間に跨るように配置することが可能となり、プログラミングは容易さと自由度が高くなる。
【００５１】
　ここで、 先ず、本発明に係る中央演算処理プロセッサの例について説明する。
【００５２】
この中央演算処理プロセッサは、本発明に係る高速プロセッサを構成する複数のバスマスタの内の一つである。本中央演算処理プロセッサは第１のバス及び第２のバスの２組の共有バスに対してアクセスする機能を有する。
【００５３】
第１バスは、１６ビットのアドレスバス、リードライト信号、８ビットのデータバスから成る共有バスであり、第１バス調停回路によって複数のバスマスタからのアクセスが調停される。これはクロック信号の１サイクルを１バスサイクルとする高速なバスであり、主に高速な半導体メモリへのアクセスや高速マルチプロセッサ内部の機能ブロック間のデータ転送に用いられる。
【００５４】
　第２バスは、２４ビットのアドレスバス、リードライト信号、８ビットのデータバスから成る共有バスであり、第２バス調停回路によって複数のバスマスタからのアクセスが調停される。これはクロック信号の２〜８サイクル（但し整数）を１バスサイクルとする比較的低速なバスであり、主に低速な半導体メモリへのアクセスや高速マルチプロセッサ外部の機器とのデータ転送に用いられる。１バスサイクルのクロックサイクル数の設定は、外部メモリインターフェース回路に含まれる第２バスサイクル長制御レジスタによって制御される。
【００５５】
図２に中央演算処理プロセッサの要部の概略を示す。本中央演算処理プロセッサは、プロセッサコア（５０）、アドレスデコーダ（５１）、第１バスインターフェース制御手段（５２）、第２バスインターフェース制御手段（５３）、クロック制御手段（５４）、２組みの３ステートバッファ（５５）（６０）、２組みの双方向３ステートバッファ（５６）（６１）、周辺機能ブロック（５７）、内部アドレスバス及びリードライト信号（５８）、内部データバス（５９）からなる。
【００５６】
プロセッサコア（５０）は、メモリに格納されたプログラムに従い、各種演算やシステム全体の制御を司る。クロック制御手段（５４）から入力されるクロック信号によって動作し、２４ビットアドレスバス、リードライト信号、８ビットデータバスをバスインターフェース信号として有する。また、自身のバスサイクルに同期したアクセス有効信号を出力し、内部動作サイクル時は該バスインターフェース信号が無効であることをプロセッサコア（５０）の外部に知らせる機能を有する。
【００５７】
ここで、プロセッサコア（５０）に接続されているアドレスバス及びリードライト信号は、内部アドレスバスおよびリードライト信号（５８）に、データバスは内部データバス（５９）に接続されており、第１バス及び第２バスに対しては直接に接続されない。以降、この内部アドレスバスの有する空間はプログラムから見た論理アドレス空間として、第１バス及び第２バスの有する物理アドレス空間とは分けて扱われるものとする。
【００５８】
周辺機能ブロック（５７）は、乗算回路、バレルシフタ、内部ベクトルレジスタ、割り込み要求信号のステータスレジスタを備える。また、６つの割込み要求信号の論理和をとった信号をプロセッサコア（５０）への割り込み要求信号として出力する機能を有する。
【００５９】
アドレスデコーダ（５１）は、論理アドレス信号のデコードを行い、デコードされたアドレス情報と、アクセス有効信号と、図示しない外部メモリインターフェース回路より送出されるメモリマップモード制御信号から、アクセスが第１バス、第２バス、周辺機能ブロック（５７）のいずれの領域に該当するかを判別する。アクセスが第１バス領域に該当する場合は、第１バスインターフェース制御手段（５２）に対し第１バス領域選択信号を、アクセスが第２バス領域に該当する場合は、第２バスインターフェース制御手段（５３）に対し第２バス領域選択信号を送出する。アクセスが内部の周辺機能ブロック領域に該当する場合及びアクセスが有効でない場合、第１バス及び第２バス領域選択信号は送出されず、本中央演算処理プロセッサは外部機能ブロックに対しアクセスを行わない。
【００６０】
第１バスインターフェース制御手段（５２）は、アドレスデコーダ（５１）より受領した第１バス領域選択信号から第１バス使用要求信号を生成し、これを第１バス調停回路に送出する。第１バス使用要求信号は、第１バス調停回路からの第１バス使用許可信号を受領するまでの期間送出される。第１バス使用許可信号は、第１バスの１バスサイクル期間即ち１クロックサイクル期間のみ出力され、第１バスインターフェース制御手段（５２）は、この期間中のみ３ステートバッファ（６０）に対する出力許可、及び双方向３ステートバッファ（６１）に対する入出力許可を行う。
【００６１】
第２バスインターフェース制御手段（５３）は、アドレスデコーダより受領した第２バス領域選択信号から第２バス使用要求信号を生成し、これを第２バス調停回路に送出する。第２バス使用要求信号は、第２バス調停回路からの第２バス使用許可信号を受領するまでの期間送出される。第２バスの使用は、第２バス使用許可信号を受領してから第２バスサイクル終了信号を受領するまでの期間許可されるので、第２バスインターフェース制御手段（５３）は、この期間中のみ３ステートバッファ（５５）に対する出力許可、及び双方向３ステートバッファ（５６）に対する入出力許可を行う。
【００６２】
クロック制御手段（５４）は、第１バスインターフェース制御手段（５２）及び第２バスインターフェース制御手段（５３）から送出されるプロセッサウェイト制御信号に従い、プロセッサコア（５０）に供給するクロックを停止し、プロセッサコア（５０）をウェイト状態にする。
【００６３】
３ステートバッファ（６０）は第１バスインターフェース制御手段（５２）から送信される制御信号に従って、内部アドレスの下位１６ビットとリードライト信号の第１バスに対する出力の制御を行う。即ちこの３ステートバッファ（６０）は１７本の信号線の制御を行うものである。
【００６４】
３ステートバッファ（５５）は第２バスインターフェース制御手段（５３）から送信される制御信号に従って、内部アドレス２４ビットとリードライト信号の第２バス対する出力の制御を行う。即ちこの３ステートバッファ（５５）は２５本の信号線の制御を行うものである。
【００６５】
双方向３ステートバッファ（６１）は、第１バスインターフェース制御手段（５２）から送信される制御信号に従って、内部データバス（５９）から第１データバスに対する出力と第１データバスから内部データバス（５９）に対する入力を制御する。即ちこの双方向３ステートバッファ（６１）は８本の信号線の制御を行うものである。
【００６６】
双方向３ステートバッファ（５６）は、第２バスインターフェース制御手段（５３）から送信される制御信号に従って、内部データバス（５９）から第２データバスに対する出力と第２データバスから内部データバス（５９）に対する入力を制御する。即ちこの双方向３ステートバッファ（５６）は８本の信号線の制御を行うものである。
【００６７】
以下に本中央演算処理プロセッサのアドレス空間について説明する。以降１６進数の表現に関しては、これを１０進数と区別するために数字の末尾に「ｈ」を付けて表記する。
【００６８】
本中央演算処理プロセッサのプロセッサコア（５０）は２４ビットのアドレス信号即ち１６メガバイトのアドレス空間を有する。これは、該プロセッサコア（５０）で実行されるプログラムから見た論理アドレス空間である。
【００６９】
第１バスは１６ビットのアドレス信号即ち６４キロバイトの物理アドレス空間を有する。
【００７０】
第２バスは２４ビットのアドレス即ち１６メガバイトの物理アドレス空間を有する。第２バスのアドレス空間は大きく２つの領域に分けられ、それぞれに異なるバスサイクル長を設定されることが可能である。ここではこれらの二つの領域を第２バス領域Ａ及び第２バス領域Ｂという。
【００７１】
本中央演算処理プロセッサにおいては、プロセッサコア（５０）の論理アドレス空間内に複数の物理アドレス空間が配置され、プロセッサコア（５０）がアクセスを行う度にこれらの物理アドレス空間の内の一つが選択され使用される。選択されなかったバスについては、プロセッサコア（５０）はそれらを占有せず、他のバスマスタが利用可能な開放状態にある。
【００７２】
本中央演算処理プロセッサには図３及び図４に示されるように２種類の異なるメモリマップのモードが用意されている。ここではこれらをメモリマップモード１及びメモリマップモード２と呼ぶ。これらのモードは、図示しない外部メモリインターフェース回路に含まれるメモリマップモード切替制御レジスタによって切り替えられる。
【００７３】
メモリマップモード切替制御レジスタは第１バスに接続され、本中央演算処理プロセッサを含む第１バスのバスマスタから読み書きが可能である。このようになされることにより、本中央演算処理プロセッサのみならず他のバスマスタがこのメモリマップモードを制御可能となり、このメモリマップモードを共有できる。
【００７４】
プロセッサコア（５０）の発行する２４ビットのアドレスは上位８ビットと下位１６ビットに大きく分かれ、上位８ビットのアドレスはバンクアドレスと呼ばれる働きをする。即ち１６メガバイトの論理アドレス空間は２５６個の６４キロバイトのバンクと呼ばれる単位空間に分けられており、例を挙げると００ｈバンクのＦＦＦＦｈ番地と０１ｈバンクの００００ｈ番地は連続していない。したがって図３及び図４に示すメモリマップは、これを明確に表すためにバンク毎に並列に表記したものとしている。
【００７５】
メモリマップモード１について説明する。
【００７６】
周辺機能ブロック（５７）は論理アドレスの下位１６ビットが００ＦＥｈ、００ＦＦｈ、７ＦＦ０ｈ〜７ＦＦＦｈを示す空間に配置される。
【００７７】
第１バスの物理アドレスが００００ｈ〜７ＦＥＦｈ（００ＦＥｈ、００ＦＦｈを除く）を示す空間は、論理アドレスの下位１６ビットが００００ｈ〜７ＦＥＦｈ（００ＦＥｈ、００ＦＦｈを除く）を示す空間に配置される。第１バスの物理アドレスが００ＦＥｈ、００ＦＦｈ、７ＦＦ０〜ＦＦＦＦｈを示す空間は本中央演算プロセッサからはアクセス不可である。
【００７８】
メモリマップモード１においては、周辺機能ブロック領域及び第１バス領域は００ｈ〜ＦＦｈの全てのバンクに同一のイメージが配置される。例を挙げると、論理アドレス空間の００００００ｈに対するアクセスと０１００００ｈに対するアクセスは共に第１バスの物理アドレス空間の００００ｈへのアクセスとなる。
【００７９】
第２バスの物理アドレスが００８０００ｈ〜００ＦＦＦＦｈからＦＦ８０００ｈ〜ＦＦＦＦＦＦｈを示す空間は、論理アドレスが００８０００ｈ〜００ＦＦＦＦｈからＦＦ８０００ｈ〜ＦＦＦＦＦＦｈを示す空間に配置される。ここで論理アドレスが００８０００ｈ〜００ＦＦＦＦｈから７Ｆ８０００ｈ〜７ＦＦＦＦＦｈを示す空間は第２バス領域Ａとなり、論理アドレス空間が８０８０００ｈ〜８０ＦＦＦＦｈからＦＦ８０００ｈ〜ＦＦＦＦＦＦｈを示す空間は第２バス領域Ｂとなる。メモリマップモード１においては、第２バスの物理アドレスが００００００ｈ〜００７ＦＦＦｈからＦＦ００００ｈ〜ＦＦ７ＦＦＦｈを示す空間は本中央演算処理プロセッサからはアクセス不可である。
【００８０】
メモリマップモード２について説明する。
【００８１】
周辺機能ブロックは論理アドレス空間中のバンクアドレスが００ｈ〜７Ｆｈを示し、かつ下位１６ビットアドレスが００ＦＥｈ、００ＦＦｈ、７ＦＦ０ｈ〜７ＦＦＦｈを示す空間に配置される。
【００８２】
第１バスの物理アドレスが００００ｈ〜７ＦＥＦｈ（００ＦＥｈ、００ＦＦｈを除く）を示す空間は論理アドレス空間のバンクアドレス００ｈ〜７Ｆｈを示し、かつ下位１６ビットアドレスが００００ｈ〜７ＦＥＦｈ（００ＦＥｈ、００ＦＦｈを除く）を示す空間に配置される。メモリマップモード１と同様、第１バスの物理アドレスが００ＦＥｈ、００ＦＦｈ、７ＦＦ０〜ＦＦＦＦｈを示す空間は本中央演算プロセッサからはアクセス不可である。
【００８３】
第２バスの物理アドレスが００８０００ｈ〜００ＦＦＦＦｈから７Ｆ８０００ｈ〜７ＦＦＦＦＦｈを示す空間は、論理アドレスが００８０００ｈ〜００ＦＦＦＦｈから７Ｆ８０００ｈ〜７ＦＦＦＦＦｈを示す空間に、第２バスの物理アドレスが８０００００ｈ〜８０ＦＦＦＦｈからＦＦ００００ｈ〜ＦＦＦＦＦＦｈを示す空間は、論理アドレスが８０００００ｈ〜８０ＦＦＦＦｈからＦＦ００００ｈ〜ＦＦＦＦＦＦｈを示す空間に配置される。ここで論理アドレスが００８０００ｈ〜００ＦＦＦＦｈから３Ｆ８０００ｈ〜３ＦＦＦＦＦｈを示す空間及び８０００００ｈ〜８０ＦＦＦＦｈからＢＦ００００ｈ〜ＢＦＦＦＦＦｈを示す空間は、第２バス領域Ａとなり、論理アドレスが４０８０００ｈ〜４０ＦＦＦＦｈから７Ｆ８０００ｈ〜７ＦＦＦＦＦｈを示す空間及びＣ０００００ｈ〜Ｃ０ＦＦＦＦｈからＦＦ００００ｈ〜ＦＦＦＦＦＦｈを示す空間は、第２バス領域Ｂとなる。メモリマップモード２においては、第２バスの物理アドレスが００００００ｈ〜００７ＦＦＦｈから３Ｆ００００ｈ〜３Ｆ７ＦＦＦｈを示す空間は本中央演算処理プロセッサからはアクセス不可である。
【００８４】
上記の様に第１バスの約３２キロバイトの物理アドレス空間と第２バスの８メガバイト（モード１）もしくは１２メガバイト（モード２）の物理アドレス空間がプロセッサコアの１６メガバイトの論理アドレス空間に配置され、プログラム上で統一的かつ連続的に扱われることが可能となる。
【００８５】
また、論理アドレスの値によって、アクセスの度に周辺機能ブロック、第１バス、第２バスを選択的に使用するので、本中央演算処理プロセッサが第１バス及び第２バスを同時に占有することはなく、本中央演算処理プロセッサが一方のバスを使用している期間においても、他のバスマスタは他方のバスを使用可能である。
【００８６】
以下に本中央演算処理プロセッサからの第１バス及び第２バスに対するアクセスの例を示す。
【００８７】
図５に本中央演算処理プロセッサの第１バスに対するアクセスのタイミングチャートの例を示す。
【００８８】
第１バスの１バスサイクル期間はクロック信号の１サイクル期間に相当し、第１バス調停回路によってバスサイクル毎に、本中央演算処理プロセッサを含む複数のバスマスタからのアクセスが調停される。
【００８９】
これに対し、本中央演算処理プロセッサのプロセッサコア（５０）の１バスサイクル期間は、ウェイト状態無しで動作する場合においてもクロック信号の３サイクルに相当し、第１バスのバスサイクル期間より長い。バスマスタに与えられる第１バスの使用許可期間は１バスサイクル即ち１クロックサイクルであり、低速な本中央演算処理プロセッサがアクセスを行うためには、図５に示した前述の機能と、以下に示すタイミング制御が必要である。
【００９０】
本中央演算処理プロセッサのプロセッサコアは、これに供給されるクロック信号の立ち下がりを基準として動作を行う。即ち一つの立ち下がり時点から次の立ち下がり時点までがプロセッサコアの１動作サイクルとなり、プロセッサコアの１バスサイクルもこれに同じである。
【００９１】
プロセッサコアへのクロック信号の立ち下がりを基準として、プロセッサコアより論理アドレスが送出され、アドレスデコーダはこの論理アドレスとアクセス有効信号とメモリマップモード情報よりアクセスが第１バス領域に該当するか否かを判定する。アクセスが第１バス領域に該当する場合、アドレスデコーダは第１バス領域選択信号を第１バスインターフェース制御手段に送出し、第１バスインターフェース制御手段はこの信号を基に第１バス使用要求信号を生成し、これを第１バス調停回路に送出する。
【００９２】
第１バス調停回路は、各バスマスタからの第１バス使用要求信号を受け付け、第１バスのバスサイクル毎にバス使用許可を与えるバスマスタを決定し、そのバスマスタに対し第１バス使用許可信号を送出する。この際に同時に２つ以上のバスマスタに第１バスの使用が許可されることはない。
【００９３】
第１バス使用許可信号は１バスサイクル単位でのみ発行され、夫々のバスマスタは第１バス使用許可信号を受け取ったバスサイクルのみ第１バスの使用を許可される。
【００９４】
クロック制御手段は、本中央演算処理プロセッサが第１バス使用許可信号を受け取るまでの期間、プロセッサコアに供給するクロックをハイレベルのまま停止させ、ウェイト状態にする。本中央演算処理プロセッサが第１バス使用許可信号を受け取ると、クロックをロウレベルに落としプロセッサコアにバスサイクルを終了させ、ウェイト状態を解除する。
【００９５】
本中央演算処理プロセッサは、第１バスの使用を許可されている期間、第１アドレスバス及びリードライト信号に対し、内部アドレスバスの一部及びリードライト信号を送出する。ここで、リードライト信号のロウレベルはデータのライトを示し、ハイレベルはデータのリードを示す。
【００９６】
本中央演算処理プロセッサが第１バスに対してデータのリードを行う際は、第１バスの使用を許可されているバスサイクルにて、内部データバス信号を第１データバスに対して出力する。但し第１データバス上でのデータの衝突を防ぐために、クロック信号がロウレベルの期間は出力しない。
【００９７】
本中央演算処理プロセッサが第１バスに対してデータのライトを行う際は、第１バスの使用を許可されているバスサイクルにて、第１データバス信号を内部データバスに入力する。プロセッサコアへのクロック信号の立ち下がりを基準として、プロセッサコア（５０）はデータを取得する。
【００９８】
図６に本中央演算処理プロセッサの第２バスに対するアクセスのタイミングチャートの例を示す。
【００９９】
第２バスの１バスサイクル期間はクロック信号の２〜８サイクル期間に相当し、バスサイクル毎に第２バス調停回路によって本中央演算処理プロセッサを含む複数のバスマスタからのアクセスが調停される。
【０１００】
第２バスの１バスサイクル期間長は、図示しない外部メモリインターフェース回路に含まれる第２バスサイクル長制御レジスタによって定められる。第２バスサイクル長制御レジスタは第１バスに接続され、中央演算処理プロセッサ等のバスマスタから読み書きが可能である。また第２バスの領域は第２バス領域Ａと第２バス領域Ｂの二つの領域に分けられ、それぞれに異なるバスサイクル長制御レジスタが設けられ、異なるバスサイクル長を設定されることが可能である。但し図６に示す例においては説明を簡単にするために、１バスサイクル期間がクロック信号の４サイクルに設定された領域へのアクセスに限定している。
【０１０１】
プロセッサコアへのクロック信号の立ち下がりを基準として、プロセッサコアより論理アドレスが送出され、アドレスデコーダはこの論理アドレスとアクセス有効信号とメモリマップモード情報よりアクセスが第２バス領域に該当するか否かを判定する。アクセスが第２バス領域に該当する場合、アドレスデコーダは第２バス領域選択信号を第２バスインターフェース制御手段に送出し、第２バスインターフェース制御手段はこの信号を基に第２バス使用要求信号を生成し、これを第２バス調停回路に送出する。
【０１０２】
第２バス調停回路は、各バスマスタからの第２バス使用要求信号を受け付け、第２バスのバスサイクル毎にバス使用許可を与えるバスマスタを決定し、そのバスマスタに対し第２バス使用許可信号を送出する。第１バスの場合と同様、同時に２つ以上のバスマスタに第２バスの使用が許可されることはない。
【０１０３】
第２バス使用許可信号は１バスサイクル単位でのみ発行され、バスマスタは第２バス使用許可信号を受け取って後、第２バスサイクル終了信号を受け取るまでの期間、第２バスの使用を許可される。この期間は第２バスサイクル長制御レジスタにて設定されるバスサイクル長に等しい。この例においては、１バスサイクルはクロック信号の４サイクルに相当する。
【０１０４】
本中央演算処理プロセッサは、第２バスの使用を許可されている期間、第２アドレスバス及びリードライト信号に対し、内部アドレスバス及びリードライト信号を送出する。ここで、リードライト信号のロウレベルはデータのライトを示し、ハイレベルはデータのリードを示す。
【０１０５】
外部メモリインターフェース回路は、バスマスタより発行された第２アドレスバスのアドレス信号をデコードし、デコードされたアドレス情報とメモリマップモード情報から、アクセスが第２バス領域Ａと第２バス領域Ｂのいずれの領域に該当するかを判別し、夫々の領域に対応する第２バスサイクル長制御レジスタの値より、第２バスサイクル終了信号を生成し、第２バスの全バスマスタ及び第２バス調停回路に対して送出する。
【０１０６】
クロック制御手段は、本中央演算処理プロセッサが第２バス使用許可信号を受け取り、第２バスサイクル終了信号を受け取るまでの期間、プロセッサコアに供給するクロックをハイレベルのまま停止させウェイト状態にする。本中央演算処理プロセッサが第２バスサイクル終了信号を受け取るとクロックをロウレベルに落とし、プロセッサコアにバスサイクルを終了させ、ウェイト状態を解除する。
【０１０７】
本中央演算処理プロセッサが第２バスに対してデータのライトを行う際は、第２バスの使用を許可されているバスサイクルにて、内部データバス信号を第２データバスに対して出力する。但し第２データバス上でのデータの衝突を防ぐために、バスサイクルの先頭にあたるクロックサイクルにおいては、クロック信号がロウレベルの期間はデータを出力しない。
【０１０８】
本中央演算処理プロセッサが第２バスに対してデータのリードを行う際は、第２バスの使用を許可されているバスサイクルにて、第２データバス信号を内部データバスに入力する。プロセッサコアへのクロック信号の立ち下がりを基準として、プロセッサコアはデータを取得する。
【０１０９】
　以下に第１バス調停回路及び第２バス調停回路の例を挙げ、バス調停のシステムについて説明する。第１バス調停回路の構成を図７に示す一方、第２バス調停回路の構成を図１２に示す。
【０１１０】
　図７に示す第１バス調停回路は、図示しない４つの通常のバスマスタＡ、Ｂ、Ｃ、Ｄと１つの特権的なバスマスタＳ（以下、特権バスマスタＳという）の計５つのバスマスタからの第１バスに対するアクセスの調停を司るものである。この第１バス調停回路は、１つの特権バスマスタＳからの第１バスの使用要求に対しては必ず次の１バスサイクルにおいて当該第１バスの使用許可を与えるものとしている。一方、他の４つの通常のバスマスタＡ、Ｂ、Ｃ、Ｄからの第１バスの使用要求に対しては優先順位情報に従って最も優先順位の高いバスマスタに対してのみ次の１バスサイクルにおいて使用許可を与えるように調停を行うものである。ここに特権バスマスタＳとしてはＤＲＡＭリフレッシュ制御回路等が想定される一方、通常のバスマスタとしては前記の中央演算処理プロセッサ等が想定される。
【０１１１】
　この第１バス調停回路においては、第１のアドレスバス及びリードライト信号、第１のデータバスからなる第１バスの調停を司り、内蔵するレジスタへは第１バスからアクセスされるものとなされている。バスサイクルはクロック信号の１サイクルに相当し、バスサイクル毎に調停が行われる。
【０１１２】
　上記第１バス調停回路は、図７に示すように、１６個の固定優先順位情報格納手段（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）からなる。
【０１４３】
　以下、第１バス調停回路との相違点を示す。
【０１４４】
　第２バス調停回路では第２バスに対する各バスマスタのアクセスの調停を目的としているので、使用許可信号生成手段（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）が必要とされる。
【０１６７】
　本マルチプロセッサが備える中央演算処理プロセッサ（1301）は、前記中央演算処理プロセッサがそのまま用いられている。
【０１６８】
　本マルチプロセッサが備える第１バス調停回路（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）は、一定期間毎に第１バスの使用権を無条件で獲得し、ＤＲＡＭのリフレッシュ動作を制御する。
【０１８８】
　サウンド処理プロセッサ（1303）、グラフィック処理プロセッサ（1302）、ＤＭＡ制御プロセッサ（1304）、タイマ回路（1309）、入出力制御回路（1308）、Ａ／Ｄコンバータ（1310）は、中央演算処理プロセッサ（1301）に対し、割り込み要求信号を発生する機能を有する。これらは夫々図１５に示す割り込み要求信号Ａ〜Ｆに相当する。
【０１８９】
　上記高速マルチプロセッサを用いた場合の第１の効果は、バススレーブの応答速度及びデータ転送能力に合わせてバスを第１バスと第２バスの二つに分割しているので、これらの共有バスの使用効率が高まり、高速マルチプロセッサ全体としての処理能力が向上することである。
【０１９０】
　第２の効果は、各々のバスマスタが第１バスと第２バスに対するインターフェースを独立に有しており、片方のバスを使用する際に、もう一方のバスを無駄に占有することがなく、前述の効果と同様に共有バスの使用効率が高まることである。
【０１９１】
　第３の効果は、バスサイクルがバスマスタのバスサイクルスピードによって定められず、バススレーブ及びバスそのものが動作可能な最速でバスサイクルが定められることにより、実施例に示される中央演算処理プロセッサのように低速なバスサイクルを有するバスマスタがアクセスする場合でも、バスの使用効率が落ちることが無いことである。
【０１９２】
第４の効果は、実施例に示す中央演算処理プロセッサのように、単一の論理アドレス空間上に複数の物理アドレス空間が配置されるようになされることにより、これら複数の物理アドレス空間をプログラム上で統一的かつ連続的に扱うことが可能になることである。
【０１９３】
第５の効果は、前述のようにバス調停回路が構成されることにより、各バスマスタのバス使用権の配分に重み付けを与えることと、全てのバスマスタに対して一定期間内においてバス使用権の取得を保証することが可能となり、さらに処理内容の変化に対応してバスマスタのバス使用権の配分の重み付けを動的に変化させることにより、システム全体としての総合処理能力を高めることが可能となることである。
【０１９４】
第６の効果は、この実施例に示す高速マルチプロセッサを単一半導体素子上で実現することにより、複数バスを備えることや、各々のバスマスタが複数バスに対するインターフェースを独立に有することによる配線の多さが問題にならなくなり、非常に簡素な外部回路にて高性能なシステムを実現することが可能となることである。
【図面の簡単な説明】
【０１９５】
【図１】本発明にかかる高速プロセッサの概要を示す説明図である。
【図２】上記高速プロセッサに用いられる中央演算処理プロセッサの構成例を示す説明図である。
【図３】上記中央演算処理プロセッサの論理アドレス空間のメモリマップモード１を示す説明図である。
【図４】上記中央演算処理プロセッサの論理アドレス空間のメモリマップモード２を示す説明図である。
【図５】上記中央演算処理プロセッサの第１バス使用例を示すタイミングチャートである。
【図６】上記中央演算処理プロセッサの第２バス使用例を示すタイミングチャートである。
【図７】第１バス調停回路の概要を示す回路図である。
【図８】第１バス調停回路における優先順位情報の設定例を示す表である。
【図９】優先順位情報の表す優先順位序列の例を示す表である。
【図１０】第１バスの調停例その１を示すタイミングチャートである。
【図１１】第１バスの調停例その２を示すタイミングチャートである。
【図１２】第２バス調停回路の概要を示す回路図である。
【図１３】第２バスの調停例を示すタイミングチャートである。
【図１４】第２バス調停回路における優先順位情報の設定例を示す表である。
【図１５】本発明にかかる高速プロセッサを用いた実施例を示す回路図である。
【図１６】従来のバスシステムの説明図である。
【符号の説明】
【０１９６】
　１　…バスマスタ
　２　…バスマスタ
　１０　…バス
　１１　…バス
　２０　…バススレーブ
　２１　…バススレーブ
【図１】
2004013907.tif 000003
【図２】
2004013907.tif 000004
【図３】
2004013907.tif 000005
【図４】
2004013907.tif 000006
【図５】
2004013907.tif 000007
【図６】
2004013907.tif 000008
【図７】
2004013907.tif 000009
【図８】
2004013907.tif 000010
【図９】
2004013907.tif 000011
【図１０】
2004013907.tif 000012
【図１１】
2004013907.tif 000013
【図１２】
2004013907.tif 000014
【図１３】
2004013907.tif 000015
【図１４】
2004013907.tif 000016
【図１５】
2004013907.tif 000017
【図１６】
2004013907.tif 000018