JP3467382B2 - 高速プロセッサ - Google Patents

高速プロセッサ

Info

Publication number
JP3467382B2
JP3467382B2 JP13280097A JP13280097A JP3467382B2 JP 3467382 B2 JP3467382 B2 JP 3467382B2 JP 13280097 A JP13280097 A JP 13280097A JP 13280097 A JP13280097 A JP 13280097A JP 3467382 B2 JP3467382 B2 JP 3467382B2
Authority
JP
Japan
Prior art keywords
bus
cycle
master
signal
address
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
Application number
JP13280097A
Other languages
English (en)
Other versions
JPH10307790A (ja
Inventor
周平 加藤
高一 佐野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SSD Co Ltd
Original Assignee
SSD Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SSD Co Ltd filed Critical SSD Co Ltd
Priority to JP13280097A priority Critical patent/JP3467382B2/ja
Priority to TW087101481A priority patent/TW448363B/zh
Priority to US09/019,277 priority patent/US6070205A/en
Priority to CNB981008178A priority patent/CN1148666C/zh
Publication of JPH10307790A publication Critical patent/JPH10307790A/ja
Application granted granted Critical
Publication of JP3467382B2 publication Critical patent/JP3467382B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Microcomputers (AREA)
  • Bus Control (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、例えばテレビゲー
ム機器、通信ネットワーク情報機器、携帯用情報機器、
通信カラオケ用機器、カーナビゲーション機器、知育玩
具、学習教材機器、ワードプロセッサ、実用情報提供機
器、工場の生産ライン等で用いられる検査用機器、各種
測定機器等において用いられる高速プロセッサに関す
る。
【0002】
【従来の技術】従来より、複数のプロセッサ(バスマス
タ)が分担及び協力して処理を行うマルチプロセッサシ
ステムは多数存在する。このようなシステムにおいて
は、複数のプロセッサ(バスマスタ)が単一のバス及び
このバスに接続された資源を共有する構成が多く見られ
る。ここにバスに接続される資源とは、メモリ装置、入
出力制御装置、その他の機能ブロック等のアドレスを受
理する側の装置を指す。アドレスを発行する側のバスマ
スタに対して、この明細書ではこれらをバススレーブと
いう。このように複数のプロセッサ(バスマスタ)が資
源を共有するシステムには、資源の共有化によるシステ
ムの簡略化と資源間のデータ転送の必要性を少なくする
ことによるシステムの効率化という大きな長所がある。
【0003】しかしながら近年、プロセッサ(バスマス
タ)の性能向上はめざましく、メモリ装置等との速度差
が広がり、プロセッサ(バスマスタ)とメモリ装置間の
データ転送がプロセッサ(バスマスタ)の処理における
大きなボトルネックとなってきている。多くのシステム
においては、高速なキャッシュメモリ等を用い、このボ
トルネックを緩和するよう努めている。
【0004】共有バスを備えるマルチプロセッサシステ
ムおいては、各々のプロセッサ(バスマスタ)が共有バ
スを利用できる期間が単一のプロセッサ(バスマスタ)
のみを備えるシステムに比べて少なくなるため、このボ
トルネックはより大きな問題となる。多くのシステムで
は、プロセッサ(バスマスタ)内部のキャッシュメモリ
や各々のプロセッサ(バスマスタ)が専有するローカル
メモリ等を積極的に導入し、共有バスを用いるデータ転
送の必要性を可能な限り減らすように努めている。
【0005】また、このボトルネックを解決する別の方
法として、プロセッサ(バスマスタ)が複数の外部バス
を備える場合もある。その既知の例としては、命令取得
用のバスとデータアクセス用のバスとを分離したハーバ
ード・アーキテクチャ・プロセッサが挙げられる。ある
いは、メモリアクセス用のバスと入出力制御用のバスを
分離したプロセッサの例もある。
【0006】ところで、単一のバスシステムにおいて
は、全てのバススレーブがこのバスに接続されるが、応
答速度(アクセススピード)やデータバス幅に差のある
バススレーブが混在する場合には、バスの利用効率が落
ちることになる。
【0007】そこで、図16に示されるように、データ
転送能力の異なるバスを複数設け、各々の転送能力に応
じたバススレーブを接続して、バスの利用効率を上げる
システムも存在する。なお、この明細書においてバスの
データ転送能力とは、バスサイクル周波数とデータバス
のビット幅の積で比較されるものをいうものとする。こ
の様にデータ転送能力別に複数のバスを設けたシステム
の例としては、パーソナルコンピュータやワークステー
ションに多く見られる階層構造的なバスシステムが挙げ
られる。
【0008】CPU(中央演算処理装置)としてインテ
ル社製ペンティアムプロセッサを搭載した近年のPC/
AT互換機を例に取ると、バスサイクル周波数60メガ
ヘルツもしくは66メガヘルツでデータバス幅64ビッ
トのプロセッサ外部バス、バスサイクル周波数33メガ
ヘルツでデータバス幅32ビットのPCIバス、バスサ
イクル周波数10メガヘルツ前後でデータバス幅8ビッ
トのATバスの三つの異なるデータ転送能力を持ったバ
スが備えられるのが一般的である。
【0009】DRAM等の半導体メモリはプロセッサ外
部バスに、グラフィック処理装置等の高速なデータ転送
が必要とされる周辺装置はPCIバスに、磁性体メモリ
等の比較的低速なデータ転送が行われる周辺装置はAT
バスに接続される。
【0010】このシステムにおいては、CPUがバスマ
スタとして直接制御を行っているのはプロセッサ外部バ
ス(高速な第一のバス)に対してのみであり、PCIバ
ス(低速な第二のバス)とATバス(低速な第三のバ
ス)に関してはバス相互間インターフェース装置が仲介
してデータ転送を行っている。一般的には、プロセッサ
外部バス(高速な第一のバス)とPCIバス(低速な第
二のバス)間をインターフェースするバス相互間インタ
ーフェース装置と、PCIバス(低速な第二のバス)と
ATバス(低速な第三のバス)間をインターフェースす
るバス相互間インターフェース装置との二つが備えられ
る。このシステムにおいては、下位側のバスへのアクセ
スは上位側のバスを経由して行われることになる。
【0011】ところで、複数のプロセッサ(バスマス
タ)がバス及びバススレーブを共有するシステムにおい
ては、バス調停のためのシステムが不可欠である。何故
ならば、バスは時分割方式で共有されており、ある一時
点に着目すると一つのプロセッサ(バスマスタ)しかバ
スを使用できないからである。
【0012】一般的には、プロセッサ(バスマスタ)は
バス調停回路に対してバス使用要求を発行し、バス調停
回路はこのバス使用要求に基づいて調停を行い、プロセ
ッサ(バスマスタ)はバス調停回路よりバス使用許可を
受理した後にバスを使用するといった方式が多く用いら
れている。
【0013】
【発明が解決しようとする課題】しかしながら、上述の
システムでは、ある1つのバスマスタが自らバスを開放
するまでの期間、あるいは定められた一定期間、他のバ
ス及びバススレーブは上記1つのバスマスタに占有され
てしまう。
【0014】特に、複数のバスマスタを備えたマルチプ
ロセッサシステムにおいては、共有バスの使用効率が悪
くなると、システム全体としての処理能力が低くなると
いう難を有するものであった。
【0015】従来技術において多くみられるようなキャ
ッシュメモリやローカルメモリ等を用いた方式では、シ
ステムを安価で構成することは難しい。
【0016】キャッシュメモリは、高速なメモリ素子で
構成される必要があるのみならず、データを格納するメ
モリ素子の他にアドレス情報を格納するメモリ素子、キ
ャッシュメモリと共有バス上のメモリ装置の内容を同一
に保つための制御回路等が必要になりシステム全体とし
て高価、複雑になるものであった。
【0017】また、キャッシュメモリやローカルメモリ
は、共有バス上のメモリ装置と同じ内容のデータを保持
することも多く、同一のデータが複数のメモリ装置間で
重複して保持されるため、メモリ資源の有効活用という
点で望ましくないものであった。
【0018】而して、この発明は、キャッシュメモリ等
の手法を用いず、共有バスの使用効率を可能な限り高め
ることにより、バスマスタとバススレーブ相互間のデー
タ転送上のボトルネックを解決することを目的とする。
【0019】また共有バスが単一である場合、データ転
送能力の異なる全てのバススレーブがこのバスに接続さ
れることになる。これはバスのデータ転送の総量が低く
なることを意味し、バスの効率的利用を妨げる要因の一
つとなる。この点を鑑みるに、共有バスをデータ転送能
力の異なる複数のバスに分離し、各々のデータ転送能力
に見合ったバススレーブを接続することは、バスの効率
的利用を達成する上で有効な手段である。しかしなが
ら、既知の階層構造的バスシステムには、下位側のバス
へのアクセスを行うために上位側のデータ転送幅を消費
しなければならないという問題点が存在する。また、バ
ス相互間インターフェース装置内には、下位側のバスを
バスマスタとして制御するための機能や、バスのデータ
転送能力の差を吸収するためのFIFO(ファースト・
イン・ファースト・アウト)メモリ等を用いる場合も多
く、安価で構成することを目的としたシステムには適さ
ない。
【0020】従って、この発明においては、従来既知の
階層構造的バスシステムによらず、安価に構成すること
ができ、しかも効率的なバスの利用が可能な、新規なシ
ステムを構築することをも目的とする。
【0021】またこの発明は、低価格でありながら可能
な限り高性能である高速プロセッサの提供をも目的とす
る。
【0022】ここで調停方式に着目すると、既存の調停
方式には、ある時間幅を持つ期間中プロセッサ(バスマ
スタ)がバスを占有して使用するという方式が多く見ら
れる。このような調停方式においては、プロセッサ(バ
スマスタ)が内部動作を行っている期間や、内部キャッ
シュメモリ等にアクセスしている期間中、プロセッサ
(バスマスタ)は実際にはバスを使用していないにも拘
わらず、他のプロセッサ(バスマスタ)はバスを使用で
きない。また、バスサイクル速度は、バスの使用権を与
えられたプロセッサ(バスマスタ)のバスサイクル速度
に依存し、低速なプロセッサ(バスマスタ)がバスを占
有する場合はバスの使用効率が落ちることになる。従っ
て、この発明においては、独自のバス調停方式を採用す
ることによってもバスの効率的利用を実現することをも
目的とする。
【0023】
【課題を解決するための手段】而して、この発明は上述
の課題を達成すべくなされたものであって、その発明の
第1は、それぞれが独立したアドレスバスおよびデータ
バスを有しかつ互いに異なる転送能力を有する第1バス
および第2バス、それぞれが前記第1バスおよび前記第
2バスの両方に直接接続される複数のバスマスタ、それ
ぞれが前記第1バスおよび前記第2バスのいずれか一方
に接続される複数のバススレーブ、前記バスマスタのバ
スサイクル速度に依存せず、前記第1バスに接続される
バススレーブにアクセス可能な最速の時間と前記第1バ
スが動作可能である最速の時間の内のどちらか遅い方を
前記第1バスのバスサイクル期間と定め、前記第1バス
のバスサイクル毎に必ずバス使用権の判定を行い、1バ
スサイクル単位で前記複数のバスマスタの内1つに1バ
スサイクル単位でバス使用許可信号を発行する第1バス
調停回路、および前記バスマスタのバスサイクル速度に
依存せず、前記第2バスに接続されるバススレーブにア
クセス可能な最速の時間と前記第2バスが動作可能であ
る最速の時間の内のどちらか遅い方を前記第2バスのバ
スサイクル期間と定め、前記第2バスのバスサイクル毎
に必ずバス使用権の判定を行い、前記複数のバスマスタ
の内1つに1バスサイクル単位の始端で第2バス使用許
可信号を発行する第2バス調停回路を備え、前記第2バ
スは第1の領域と第2の領域に分割され、さらに前記第
2バス使用許可信号を受領した前記バスマスタの発行す
るアドレスが前記第1の領域と前記第2の領域のいずれ
に該当するかを前記第2バスのバスサイクル毎に判別
し、前記第1の領域に該当すると判別した場合には第1
のバスサイクル期間長を、前記第2の領域に該当すると
判別した場合には第2のバスサイクル期間長を当該バス
サイクルの長さとして定め、定められたバスサイクルの
長さに従って各バスサイクルの終端でバスサイクル終了
信号を発行するバスサイクル長制御手段を備え、前記第
1バス使用許可信号を受領した前記バスマスタは、前記
第1バス使用許可信号によって使用を許可されたバスサ
イクル期間内で前記第1バスにおけるデータの送受を行
い、前記第2バス使用許可信号を受領した前記バスマス
タは、前記第2バス使用許可信号によって前記第2バス
におけるデータの送受を開始し、前記バスサイクル終了
信号によってデータの送受を終了する、高速プロセッサ
を要旨とするものである。
【0024】またこの発明の第2は、それぞれが独立し
たアドレスバスおよびデータバスを有しかつ互いに異な
る動作速度を有する第1バスおよび第2バス、それぞれ
が前記第1バスおよび前記第2バスの両方に直接接続さ
れる複数のバスマスタ、それぞれが前記第1バスおよび
前記第2バスのいずれか一方に接続される複数のバスス
レーブ、前記バスマスタのバスサイクル速度に依存せ
ず、前記第1バスに接続されるバススレーブにアクセス
可能な最速の時間と前記第1バスが動作可能である最速
の時間の内のどちらか遅い方を前記第1バスのバスサイ
クル期間と定め、前記第1バスのバスサイクル毎に必ず
バス使用権の判定を行い、1バスサイクル単位で前記
数のバスマスタの内1つに1バスサイクル単位でバス使
用許可信号を発行する第1バス調停回路、および前記バ
スマスタのバスサイクル速度に依存せず、前記第2バス
に接続されるバススレーブにアクセス可能な最速の時間
と前記第2バスが動作可能である最速の時間の内のどち
らか遅い方を前記第2バスのバスサイクル期間と定め、
前記第2バスのバスサイクル毎に必ずバス使用権の判定
を行い、前記複数のバスマスタの内1つに1バスサイク
ル単位の始端で第2バス使用許可信号を発行する第2バ
ス調停回路を備え、前記第2バスは第1の領域と第2の
領域に分割され、さらに前記第2バス使用許可信号を受
領した前記バスマスタの発行するアドレスが前記第1の
領域と前記第2の領域のいずれに該当するかを前記第2
バスのバスサイクル毎に判別し、前記第1の領域に該当
すると判別した場合には第1のバスサイクル期間長を、
前記第2の領域に該当すると判別した場合には第2のバ
スサイクル期間長を当該バスサイクルの長さとして定
め、定められたバスサイクルの長さに従って各バスサイ
クルの終端でバスサイクル終了信号を発行するバスサイ
クル長制御手段を備え、前記第1バス使用許可信号を受
領した前記バスマスタは、前記第1バス使用許可信号に
よって使用を許可されたバスサイクル期間内で前記第1
バスにおけるデータの送受を行い、前記第2バス使用許
可信号を受領した前記バスマスタは、前記第2バス使用
許可信号によって前記第2バスにおけるデータの送受を
開始し、前記バスサイクル終了信号によってデータの送
受を終了する、高速プロセッサを要旨とするものであ
る。
【0025】
【0026】
【0027】前記バスマスタとしては、前記第1バス調
停回路および前記第2バス調停回路に対してバス使用要
求信号を出力する機能、バス使用許可信号が得られるま
で前記第1バスおよび前記第2バスに対するアクセスを
待機する機能および前記第1バスおよび前記第2バス
に対してアドレスを送出する機能をそれぞれ有し、さら
に前記第1バスのための第1インターフェースおよび前
記第2バスのための第2インターフェースを含むものを
用いることが好ましい。
【0028】前記第1インターフェースおよび前記第2
インターフェースとしては、それぞれ、前記第1バスま
たは前記第2バスに対するアドレスの出力・非出力を制
御する、前記バス毎に独立した複数組の3ステートバッ
ファと、前記第1バスまたは前記第2バスに対するデー
タの入出力および接続・非接続を制御する、バス毎に独
立した複数組の双方向3ステートバッファと、前記第1
バス調停回路または前記第2バス調停回路からのバス使
用許可に基づいて前記複数組の3ステートバッファおよ
び前記複数組の双方向3ステートバッファを制御する手
段とを含むものを用いてもよい。
【0029】前記バスマスタとしては、論理アドレスを
そのバスマスタの内部で発行する手段と、発行された論
理アドレスをデコードするデコーダと、デコードされた
アドレス情報に基づいて複数のバスの内の1つを選択し
前記のバス使用要求信号を出力する手段と、前記発行
された論理アドレスに基づいて物理アドレスを生成する
手段とを備え、生成された物理アドレスが前記第1バス
または前記第2バスに対して前記複数組の3ステートバ
ッファを通して出力され、それによって前記第1バスお
よび前記第2バス毎に独立な複数の物理アドレス空間を
単一の論理アドレス空間の内の一部に割り当てる要にす
ることが望ましい
【0030】
【0031】
【0032】更に、前記の全ての構成要素が単一の半導
体素子内に集積されてなるものであっても良い。
【0033】また、それぞれが前記のバスマスタであ
る、1または複数の中央演算処理プロセッサと、グラフ
ィック処理を行いビデオ信号を発生する手段を備える
ラフィック処理プロセサと、サウンド処理を行いオーデ
ィオ信号を発生する手段を備えるサウンド処理プロセサ
とを含むものが望ましく、この場合、前記第1バスは前
記半導体素子内部の機能ブロック及び高速な半導体メモ
リとのデータ転送、交換を司り、そして前記第2バスは
前記半導体素子外部の周辺装置及び低速な半導体メモリ
とのデータ転送、交換を司る
【0034】
【発明の実施の形態】以下、この発明にかかる高速プロ
セッサの基本概念を図1に基づいて説明する。
【0035】図1に示すように、このシステムは、一又
は複数のバスマスタ(1)(2)と、データ転送能力あ
るいは動作速度の異なる複数のバス(10)(11)
と、前記各バスの転送能力あるいは動作速度に対応した
速度で応答可能な複数のバススレーブ(20)(21)
とを備えている。
【0036】前記各バススレーブ(20)(21)は、
それに対応する転送能力あるいはその応答速度に対応す
る動作速度を有する前記いずれかのバス(10)(1
1)にそれぞれ接続されている。ここにいずれのバス
(10)(11)もそれぞれ独立したアドレスバスおよ
びデータバスを有するものである。而して、前記バスマ
スタ(1)(2)が、前記各バス(10)(11)のア
ドレスバスおよびデータバスに直接接続されている。こ
こにこの明細書において直接接続されているとは、図1
6に示す従来既知の階層構造的バスシステムのようにバ
ス相互間に介在されたバス相互間インターフェースを介
することなく各バスマスタ(1)(2)が各バス(1
0)(11)に接続されていることを意味するものとす
る。いうまでもなくバスマスタ(1)(2)とバス(1
0)(11)とは、従来既知のインターフェースを介し
て接続されるものであるが、このインターフェースは前
記バス相互間インターフェースと比べて極めて構成が簡
素なものである。
【0037】更に各バス(10)(11)には、それぞ
れ複数の前記バスマスタ(1)(2)からのバスに対す
るアクセスを調停する図示しないバス調停回路が備えら
れている。もっとも、バスマスタが単一の場合には基本
的にはバス調停回路は不要である。
【0038】なお、前記バスマスタ(1)(2)は、上
記バス調停回路に対して、バス使用要求信号を出力する
機能、バス使用許可信号が得られるまで前記バスに対す
るアクセスを待機する機能、前記バスに対してアドレス
を送出する機能およびバス調停回路の定めるバスサイク
ル期間内にてデータの送受を完結させる機能を有するも
のであって、接続された前記バス(10)(11)に対
してバス毎に独立した図示しないインターフェースを備
えている。
【0039】該インターフェースとしては、前記バス
(10)(11)に対するアドレスの出力・非出力を制
御する、バス毎に独立した複数組の3ステートバッファ
と、前記バス(10)(11)に対するデータの入出力
および接続・非接続を制御する、バス毎に独立した複数
組の双方向3ステートバッファと、前記バス調停回路か
らのバス使用許可に基づいて前記3ステートバッファを
制御する手段とを備える。
【0040】少なくとも前記いずれかのバスマスタ
(1)(2)は、論理アドレスをバスマスタ内部で発行
する手段と、発行された論理アドレスをデコードするデ
コーダと、デコードされたアドレス情報に基づいて複数
のバスの内の一つを選択してバス使用要求信号を出力す
る手段と、論理アドレスの内の必要なアドレス情報のみ
選択して物理アドレスを生成する手段、あるいは論理ア
ドレスを変換して物理アドレスを生成する手段と、生成
された物理アドレスをバスに対して出力する前記複数組
の3ステートバッファとを備え、これにより、バス毎に
独立な複数の物理アドレス空間を単一の論理アドレス空
間の内の一部に割り当てられるものとなされる。
【0041】前記バス調停回路は、前記バススレーブ
(20)(21)にアクセス可能な最速の時間とバスが
動作可能である最速の時間の内のどちらか遅い方をバス
サイクル時間と定め、このバスサイクル毎に必ずバス使
用権の判定を行い、1バスサイクル単位でのみバスマス
タ(1)(2)にバス(10)(11)の使用許可を与
える機能を備え、前記バスマスタ(1)(2)は、前記
バスサイクル期間内にてデータを送受する機能を備えて
いる。
【0042】また前記バス調停回路は、バスマスタ相互
の優先順位を定めたバスマスタ優先順位情報を1組とす
る複数組みのバスマスタ優先順情報を格納する優先順位
情報格納手段と、該格納手段から、前記複数組みのバス
マスタ優先順位情報を繰り返し単位として、1バスサイ
クル毎に1組づつ前記バスマスタ優先順位情報を順次的
に選択する優先順位情報選択手段と、該選択手段によっ
て選択された1組の前記優先順位情報に基づいて、バス
使用要求をしているバスマスタのうち当該組において最
も優先順位の高いバスマスタに対して1バスサイクルだ
けバスの使用を許可すべくバス使用許可信号を出力する
バス使用許可信号生成回路とを具備している。
【0043】ところで、前記の全ての構成要素、即ちバ
スマスタ(1)(2)、バス(10)(11)およびバ
ススレーブ(20)(21)を含む全ての構成要素は、
単一の半導体素子内に集積されている。
【0044】この発明にかかる高速プロセッサは、バス
マスタ(1)(2)とバススレーブ(20)(21)間
のデータ転送上のボトルネックを解決するために、上述
のようにデータ転送能力の異なる複数のバス(10)
(11)を備え、またこれらのバス(10)(11)に
バスマスタ(1)(2)が直接アクセスする手法を採用
している。これにより、データ転送能力の異なるバスス
レーブ(20)(21)が混在することによるバスの使
用効率の低下を防ぎ、効率的なバス使用を実現できる。
【0045】また、階層構造的バスシステムにみられる
転送能力の高いバス(10)のデータ転送幅が転送能力
の低いバス(11)によって消費されるという問題も解
決される。更に、バス(10)(11)間をインターフ
ェースする装置等としては特別な回路は必要とされない
ため、安価にシステムを構成することが可能となる。
【0046】また、複数のバスマスタ(1)(2)が同
時に同一のバスを使用することを要求した場合におい
て、バスの使用権の判定をバス毎に独立して行なうこと
により、バスマスタ(1)(2)は使用許可を与えられ
たバスのみを使用し、他のバスを占有することはない。
従って、バスマスタが使用していないバス及びバススレ
ーブを占有する機会が減り、バスの使用効率を一層向上
させることが可能となる。
【0047】バス調停回路として、バスの使用許可をバ
スサイクル毎に判定し、1バスサイクル単位でのみバス
使用許可をバスマスタに対して与えるものとすることに
より、バスサイクルは常に有効なアクセスを行うバスマ
スタに対して動的に割り当てられ、内部動作等のバスを
使用していない期間中にバスマスタがバスを占有するこ
とが無くなる。
【0048】また、バスサイクルの速度をバス調停回路
によって定めれば、バスマスタのバスサイクル速度に依
存しないものとすることができる。従って、バスマスタ
間でバスサイクルに速度差のある場合でも、常にバスは
最高速度にて動作可能である。バスマスタのバスサイク
ル速度が低速な場合には、例えばデータバスにリードバ
ッファ、ライトバッファを設けたり、バス使用要求信号
の出力を遅延させるといった手法にて、バスサイクルの
速度差を緩衝すれば良い。
【0049】また、複数のバスが有する物理アドレス空
間を、単一の論理アドレス空間内に配置することによ
り、全てのバスの物理アドレス空間を統一的に扱うこと
が可能となるばかりか、一つの処理単位としてのデータ
ブロックを、複数のバスの物理アドレス空間に跨るよう
に配置することが可能となり、プログラミングは容易さ
と自由度が高くなる。
【0050】
【実施例】先ず、本発明に係る中央演算処理プロセッサ
の例について説明する。
【0051】この中央演算処理プロセッサは、本発明に
係る高速プロセッサを構成する複数のバスマスタの内の
一つである。本中央演算処理プロセッサは第1のバス及
び第2のバスの2組の共有バスに対してアクセスする機
能を有する。
【0052】第1バスは、16ビットのアドレスバス、
リードライト信号、8ビットのデータバスから成る共有
バスであり、第1バス調停回路によって複数のバスマス
タからのアクセスが調停される。これはクロック信号の
1サイクルを1バスサイクルとする高速なバスであり、
主に高速な半導体メモリへのアクセスや高速マルチプロ
セッサ内部の機能ブロック間のデータ転送に用いられ
る。
【0053】第2バスは、24ビットのアドレスバス、
リードライト信号、8ビットのデータバスから成る共有
バスであり、第2バス調停回路によって複数のバスマス
タからのアクセスが調停される。これはクロック信号の
2〜8サイクル(但し整数)を1バスサイクルとする比
較的低速なバスであり、主に低速な半導体メモリへのア
クセスや高速マルチプロセッサ外部の機器とのデータ転
送に用いられる。1バスサイクルのクロックサイクル数
の設定は、外部メモリインターフェース回路に含まれる
第2バスサイクル長制御レジスタによって制御される。
【0054】図2に中央演算処理プロセッサの要部の概
略を示す。本中央演算処理プロセッサは、プロセッサコ
ア(50)、アドレスデコーダ(51)、第1バスイン
ターフェース制御手段(52)、第2バスインターフェ
ース制御手段(53)、クロック制御手段(54)、2
組みの3ステートバッファ(55)(60)、2組みの
双方向3ステートバッファ(56)(61)、周辺機能
ブロック(57)、内部アドレスバス及びリードライト
信号(58)、内部データバス(59)からなる。
【0055】プロセッサコア(50)は、メモリに格納
されたプログラムに従い、各種演算やシステム全体の制
御を司る。クロック制御手段(54)から入力されるク
ロック信号によって動作し、24ビットアドレスバス、
リードライト信号、8ビットデータバスをバスインター
フェース信号として有する。また、自身のバスサイクル
に同期したアクセス有効信号を出力し、内部動作サイク
ル時は該バスインターフェース信号が無効であることを
プロセッサコア(50)の外部に知らせる機能を有す
る。
【0056】ここで、プロセッサコア(50)に接続さ
れているアドレスバス及びリードライト信号は、内部ア
ドレスバスおよびリードライト信号(58)に、データ
バスは内部データバス(59)に接続されており、第1
バス及び第2バスに対しては直接に接続されない。以
降、この内部アドレスバスの有する空間はプログラムか
ら見た論理アドレス空間として、第1バス及び第2バス
の有する物理アドレス空間とは分けて扱われるものとす
る。
【0057】周辺機能ブロック(57)は、乗算回路、
バレルシフタ、内部ベクトルレジスタ、割り込み要求信
号のステータスレジスタを備える。また、6つの割込み
要求信号の論理和をとった信号をプロセッサコア(5
0)への割り込み要求信号として出力する機能を有す
る。
【0058】アドレスデコーダ(51)は、論理アドレ
ス信号のデコードを行い、デコードされたアドレス情報
と、アクセス有効信号と、図示しない外部メモリインタ
ーフェース回路より送出されるメモリマップモード制御
信号から、アクセスが第1バス、第2バス、周辺機能ブ
ロック(57)のいずれの領域に該当するかを判別す
る。アクセスが第1バス領域に該当する場合は、第1バ
スインターフェース制御手段(52)に対し第1バス領
域選択信号を、アクセスが第2バス領域に該当する場合
は、第2バスインターフェース制御手段(53)に対し
第2バス領域選択信号を送出する。アクセスが内部の周
辺機能ブロック領域に該当する場合及びアクセスが有効
でない場合、第1バス及び第2バス領域選択信号は送出
されず、本中央演算処理プロセッサは外部機能ブロック
に対しアクセスを行わない。
【0059】第1バスインターフェース制御手段(5
2)は、アドレスデコーダ(51)より受領した第1バ
ス領域選択信号から第1バス使用要求信号を生成し、こ
れを第1バス調停回路に送出する。第1バス使用要求信
号は、第1バス調停回路からの第1バス使用許可信号を
受領するまでの期間送出される。第1バス使用許可信号
は、第1バスの1バスサイクル期間即ち1クロックサイ
クル期間のみ出力され、第1バスインターフェース制御
手段(52)は、この期間中のみ3ステートバッファ
(60)に対する出力許可、及び双方向3ステートバッ
ファ(61)に対する入出力許可を行う。
【0060】第2バスインターフェース制御手段(5
3)は、アドレスデコーダより受領した第2バス領域選
択信号から第2バス使用要求信号を生成し、これを第2
バス調停回路に送出する。第2バス使用要求信号は、第
2バス調停回路からの第2バス使用許可信号を受領する
までの期間送出される。第2バスの使用は、第2バス使
用許可信号を受領してから第2バスサイクル終了信号を
受領するまでの期間許可されるので、第2バスインター
フェース制御手段(53)は、この期間中のみ3ステー
トバッファ(55)に対する出力許可、及び双方向3ス
テートバッファ(56)に対する入出力許可を行う。
【0061】クロック制御手段(54)は、第1バスイ
ンターフェース制御手段(52)及び第2バスインター
フェース制御手段(53)から送出されるプロセッサウ
ェイト制御信号に従い、プロセッサコア(50)に供給
するクロックを停止し、プロセッサコア(50)をウェ
イト状態にする。
【0062】3ステートバッファ(60)は第1バスイ
ンターフェース制御手段(52)から送信される制御信
号に従って、内部アドレスの下位16ビットとリードラ
イト信号の第1バスに対する出力の制御を行う。即ちこ
の3ステートバッファ(60)は17本の信号線の制御
を行うものである。
【0063】3ステートバッファ(55)は第2バスイ
ンターフェース制御手段(53)から送信される制御信
号に従って、内部アドレス24ビットとリードライト信
号の第2バス対する出力の制御を行う。即ちこの3ステ
ートバッファ(55)は25本の信号線の制御を行うも
のである。
【0064】双方向3ステートバッファ(61)は、第
1バスインターフェース制御手段(52)から送信され
る制御信号に従って、内部データバス(59)から第1
データバスに対する出力と第1データバスから内部デー
タバス(59)に対する入力を制御する。即ちこの双方
向3ステートバッファ(61)は8本の信号線の制御を
行うものである。
【0065】双方向3ステートバッファ(56)は、第
2バスインターフェース制御手段(53)から送信され
る制御信号に従って、内部データバス(59)から第2
データバスに対する出力と第2データバスから内部デー
タバス(59)に対する入力を制御する。即ちこの双方
向3ステートバッファ(56)は8本の信号線の制御を
行うものである。
【0066】以下に本中央演算処理プロセッサのアドレ
ス空間について説明する。以降16進数の表現に関して
は、これを10進数と区別するために数字の末尾に
「h」を付けて表記する。
【0067】本中央演算処理プロセッサのプロセッサコ
ア(50)は24ビットのアドレス信号即ち16メガバ
イトのアドレス空間を有する。これは、該プロセッサコ
ア(50)で実行されるプログラムから見た論理アドレ
ス空間である。
【0068】第1バスは16ビットのアドレス信号即ち
64キロバイトの物理アドレス空間を有する。
【0069】第2バスは24ビットのアドレス即ち16
メガバイトの物理アドレス空間を有する。第2バスのア
ドレス空間は大きく2つの領域に分けられ、それぞれに
異なるバスサイクル長を設定されることが可能である。
ここではこれらの二つの領域を第2バス領域A及び第2
バス領域Bという。
【0070】本中央演算処理プロセッサにおいては、プ
ロセッサコア(50)の論理アドレス空間内に複数の物
理アドレス空間が配置され、プロセッサコア(50)が
アクセスを行う度にこれらの物理アドレス空間の内の一
つが選択され使用される。選択されなかったバスについ
ては、プロセッサコア(50)はそれらを占有せず、他
のバスマスタが利用可能な開放状態にある。
【0071】本中央演算処理プロセッサには図3及び図
4に示されるように2種類の異なるメモリマップのモー
ドが用意されている。ここではこれらをメモリマップモ
ード1及びメモリマップモード2と呼ぶ。これらのモー
ドは、図示しない外部メモリインターフェース回路に含
まれるメモリマップモード切替制御レジスタによって切
り替えられる。
【0072】メモリマップモード切替制御レジスタは第
1バスに接続され、本中央演算処理プロセッサを含む第
1バスのバスマスタから読み書きが可能である。このよ
うになされることにより、本中央演算処理プロセッサの
みならず他のバスマスタがこのメモリマップモードを制
御可能となり、このメモリマップモードを共有できる。
【0073】プロセッサコア(50)の発行する24ビ
ットのアドレスは上位8ビットと下位16ビットに大き
く分かれ、上位8ビットのアドレスはバンクアドレスと
呼ばれる働きをする。即ち16メガバイトの論理アドレ
ス空間は256個の64キロバイトのバンクと呼ばれる
単位空間に分けられており、例を挙げると00hバンク
のFFFFh番地と01hバンクの0000h番地は連
続していない。したがって図3及び図4に示すメモリマ
ップは、これを明確に表すためにバンク毎に並列に表記
したものとしている。
【0074】メモリマップモード1について説明する。
【0075】周辺機能ブロック(57)は論理アドレス
の下位16ビットが00FEh、00FFh、7FF0
h〜7FFFhを示す空間に配置される。第1バスの物
理アドレスが0000h〜7FEFh(00FEh、0
0FFhを除く)を示す空間は、論理アドレスの下位1
6ビットが0000h〜7FEFh(00FEh、00
FFhを除く)を示す空間に配置される。第1バスの物
理アドレスが00FEh、00FFh、7FF0〜FF
FFhを示す空間は本中央演算プロセッサからはアクセ
ス不可である。
【0076】メモリマップモード1においては、周辺機
能ブロック領域及び第1バス領域は00h〜FFhの全
てのバンクに同一のイメージが配置される。例を挙げる
と、論理アドレス空間の000000hに対するアクセ
スと010000hに対するアクセスは共に第1バスの
物理アドレス空間の0000hへのアクセスとなる。
【0077】第2バスの物理アドレスが008000h
〜00FFFFhからFF8000h〜FFFFFFh
を示す空間は、論理アドレスが008000h〜00F
FFFhからFF8000h〜FFFFFFhを示す空
間に配置される。ここで論理アドレスが008000h
〜00FFFFhから7F8000h〜7FFFFFh
を示す空間は第2バス領域Aとなり、論理アドレス空間
が808000h〜80FFFFhからFF8000h
〜FFFFFFhを示す空間は第2バス領域Bとなる。
メモリマップモード1においては、第2バスの物理アド
レスが000000h〜007FFFhからFF000
0h〜FF7FFFhを示す空間は本中央演算処理プロ
セッサからはアクセス不可である。
【0078】メモリマップモード2について説明する。
【0079】周辺機能ブロックは論理アドレス空間中の
バンクアドレスが00h〜7Fhを示し、かつ下位16
ビットアドレスが00FEh、00FFh、7FF0h
〜7FFFhを示す空間に配置される。
【0080】第1バスの物理アドレスが0000h〜7
FEFh(00FEh、00FFhを除く)を示す空間
は論理アドレス空間のバンクアドレス00h〜7Fhを
示し、かつ下位16ビットアドレスが0000h〜7F
EFh(00FEh、00FFhを除く)を示す空間に
配置される。メモリマップモード1と同様、第1バスの
物理アドレスが00FEh、00FFh、7FF0〜F
FFFhを示す空間は本中央演算プロセッサからはアク
セス不可である。
【0081】第2バスの物理アドレスが008000h
〜00FFFFhから7F8000h〜7FFFFFh
を示す空間は、論理アドレスが008000h〜00F
FFFhから7F8000h〜7FFFFFhを示す空
間に、第2バスの物理アドレスが800000h〜80
FFFFhからFF0000h〜FFFFFFhを示す
空間は、論理アドレスが800000h〜80FFFF
hからFF0000h〜FFFFFFhを示す空間に配
置される。ここで論理アドレスが008000h〜00
FFFFhから3F8000h〜3FFFFFhを示す
空間及び800000h〜80FFFFhからBF00
00h〜BFFFFFhを示す空間は、第2バス領域A
となり、論理アドレスが408000h〜40FFFF
hから7F8000h〜7FFFFFhを示す空間及び
C00000h〜C0FFFFhからFF0000h〜
FFFFFFhを示す空間は、第2バス領域Bとなる。
メモリマップモード2においては、第2バスの物理アド
レスが000000h〜007FFFhから3F000
0h〜3F7FFFhを示す空間は本中央演算処理プロ
セッサからはアクセス不可である。
【0082】上記の様に第1バスの約32キロバイトの
物理アドレス空間と第2バスの8メガバイト(モード
1)もしくは12メガバイト(モード2)の物理アドレ
ス空間がプロセッサコアの16メガバイトの論理アドレ
ス空間に配置され、プログラム上で統一的かつ連続的に
扱われることが可能となる。
【0083】また、論理アドレスの値によって、アクセ
スの度に周辺機能ブロック、第1バス、第2バスを選択
的に使用するので、本中央演算処理プロセッサが第1バ
ス及び第2バスを同時に占有することはなく、本中央演
算処理プロセッサが一方のバスを使用している期間にお
いても、他のバスマスタは他方のバスを使用可能であ
る。
【0084】以下に本中央演算処理プロセッサからの第
1バス及び第2バスに対するアクセスの例を示す。
【0085】図5に本中央演算処理プロセッサの第1バ
スに対するアクセスのタイミングチャートの例を示す。
【0086】第1バスの1バスサイクル期間はクロック
信号の1サイクル期間に相当し、第1バス調停回路によ
ってバスサイクル毎に、本中央演算処理プロセッサを含
む複数のバスマスタからのアクセスが調停される。
【0087】これに対し、本中央演算処理プロセッサの
プロセッサコア(50)の1バスサイクル期間は、ウェ
イト状態無しで動作する場合においてもクロック信号の
3サイクルに相当し、第1バスのバスサイクル期間より
長い。バスマスタに与えられる第1バスの使用許可期間
は1バスサイクル即ち1クロックサイクルであり、低速
な本中央演算処理プロセッサがアクセスを行うために
は、図5に示した前述の機能と、以下に示すタイミング
制御が必要である。
【0088】本中央演算処理プロセッサのプロセッサコ
アは、これに供給されるクロック信号の立ち下がりを基
準として動作を行う。即ち一つの立ち下がり時点から次
の立ち下がり時点までがプロセッサコアの1動作サイク
ルとなり、プロセッサコアの1バスサイクルもこれに同
じである。
【0089】プロセッサコアへのクロック信号の立ち下
がりを基準として、プロセッサコアより論理アドレスが
送出され、アドレスデコーダはこの論理アドレスとアク
セス有効信号とメモリマップモード情報よりアクセスが
第1バス領域に該当するか否かを判定する。アクセスが
第1バス領域に該当する場合、アドレスデコーダは第1
バス領域選択信号を第1バスインターフェース制御手段
に送出し、第1バスインターフェース制御手段はこの信
号を基に第1バス使用要求信号を生成し、これを第1バ
ス調停回路に送出する。
【0090】第1バス調停回路は、各バスマスタからの
第1バス使用要求信号を受け付け、第1バスのバスサイ
クル毎にバス使用許可を与えるバスマスタを決定し、そ
のバスマスタに対し第1バス使用許可信号を送出する。
この際に同時に2つ以上のバスマスタに第1バスの使用
が許可されることはない。
【0091】第1バス使用許可信号は1バスサイクル単
位でのみ発行され、夫々のバスマスタは第1バス使用許
可信号を受け取ったバスサイクルのみ第1バスの使用を
許可される。
【0092】クロック制御手段は、本中央演算処理プロ
セッサが第1バス使用許可信号を受け取るまでの期間、
プロセッサコアに供給するクロックをハイレベルのまま
停止させ、ウェイト状態にする。本中央演算処理プロセ
ッサが第1バス使用許可信号を受け取ると、クロックを
ロウレベルに落としプロセッサコアにバスサイクルを終
了させ、ウェイト状態を解除する。
【0093】本中央演算処理プロセッサは、第1バスの
使用を許可されている期間、第1アドレスバス及びリー
ドライト信号に対し、内部アドレスバスの一部及びリー
ドライト信号を送出する。ここで、リードライト信号の
ロウレベルはデータのライトを示し、ハイレベルはデー
タのリードを示す。
【0094】本中央演算処理プロセッサが第1バスに対
してデータのリードを行う際は、第1バスの使用を許可
されているバスサイクルにて、内部データバス信号を第
1データバスに対して出力する。但し第1データバス上
でのデータの衝突を防ぐために、クロック信号がロウレ
ベルの期間は出力しない。
【0095】本中央演算処理プロセッサが第1バスに対
してデータのライトを行う際は、第1バスの使用を許可
されているバスサイクルにて、第1データバス信号を内
部データバスに入力する。プロセッサコアへのクロック
信号の立ち下がりを基準として、プロセッサコア(5
0)はデータを取得する。
【0096】図6に本中央演算処理プロセッサの第2バ
スに対するアクセスのタイミングチャートの例を示す。
【0097】第2バスの1バスサイクル期間はクロック
信号の2〜8サイクル期間に相当し、バスサイクル毎に
第2バス調停回路によって本中央演算処理プロセッサを
含む複数のバスマスタからのアクセスが調停される。
【0098】第2バスの1バスサイクル期間長は、図示
しない外部メモリインターフェース回路に含まれる第2
バスサイクル長制御レジスタによって定められる。第2
バスサイクル長制御レジスタは第1バスに接続され、中
央演算処理プロセッサ等のバスマスタから読み書きが可
能である。また第2バスの領域は第2バス領域Aと第2
バス領域Bの二つの領域に分けられ、それぞれに異なる
バスサイクル長制御レジスタが設けられ、異なるバスサ
イクル長を設定されることが可能である。但し図6に示
す例においては説明を簡単にするために、1バスサイク
ル期間がクロック信号の4サイクルに設定された領域へ
のアクセスに限定している。
【0099】プロセッサコアへのクロック信号の立ち下
がりを基準として、プロセッサコアより論理アドレスが
送出され、アドレスデコーダはこの論理アドレスとアク
セス有効信号とメモリマップモード情報よりアクセスが
第2バス領域に該当するか否かを判定する。アクセスが
第2バス領域に該当する場合、アドレスデコーダは第2
バス領域選択信号を第2バスインターフェース制御手段
に送出し、第2バスインターフェース制御手段はこの信
号を基に第2バス使用要求信号を生成し、これを第2バ
ス調停回路に送出する。
【0100】第2バス調停回路は、各バスマスタからの
第2バス使用要求信号を受け付け、第2バスのバスサイ
クル毎にバス使用許可を与えるバスマスタを決定し、そ
のバスマスタに対し第2バス使用許可信号を送出する。
第1バスの場合と同様、同時に2つ以上のバスマスタに
第2バスの使用が許可されることはない。
【0101】第2バス使用許可信号は1バスサイクル単
位でのみ発行され、バスマスタは第2バス使用許可信号
を受け取って後、第2バスサイクル終了信号を受け取る
までの期間、第2バスの使用を許可される。この期間は
第2バスサイクル長制御レジスタにて設定されるバスサ
イクル長に等しい。この例においては、1バスサイクル
はクロック信号の4サイクルに相当する。
【0102】本中央演算処理プロセッサは、第2バスの
使用を許可されている期間、第2アドレスバス及びリー
ドライト信号に対し、内部アドレスバス及びリードライ
ト信号を送出する。ここで、リードライト信号のロウレ
ベルはデータのライトを示し、ハイレベルはデータのリ
ードを示す。
【0103】外部メモリインターフェース回路は、バス
マスタより発行された第2アドレスバスのアドレス信号
をデコードし、デコードされたアドレス情報とメモリマ
ップモード情報から、アクセスが第2バス領域Aと第2
バス領域Bのいずれの領域に該当するかを判別し、夫々
の領域に対応する第2バスサイクル長制御レジスタの値
より、第2バスサイクル終了信号を生成し、第2バスの
全バスマスタ及び第2バス調停回路に対して送出する。
【0104】クロック制御手段は、本中央演算処理プロ
セッサが第2バス使用許可信号を受け取り、第2バスサ
イクル終了信号を受け取るまでの期間、プロセッサコア
に供給するクロックをハイレベルのまま停止させウェイ
ト状態にする。本中央演算処理プロセッサが第2バスサ
イクル終了信号を受け取るとクロックをロウレベルに落
とし、プロセッサコアにバスサイクルを終了させ、ウェ
イト状態を解除する。
【0105】本中央演算処理プロセッサが第2バスに対
してデータのライトを行う際は、第2バスの使用を許可
されているバスサイクルにて、内部データバス信号を第
2データバスに対して出力する。但し第2データバス上
でのデータの衝突を防ぐために、バスサイクルの先頭に
あたるクロックサイクルにおいては、クロック信号がロ
ウレベルの期間はデータを出力しない。
【0106】本中央演算処理プロセッサが第2バスに対
してデータのリードを行う際は、第2バスの使用を許可
されているバスサイクルにて、第2データバス信号を内
部データバスに入力する。プロセッサコアへのクロック
信号の立ち下がりを基準として、プロセッサコアはデー
タを取得する。
【0107】以下に第1バス調停回路及び第2バス調停
回路の例を挙げ、バス調停のシステムについて説明す
る。第1バス調停回路の構成を図7に示す一方、第2バ
ス調停回路の構成を図12に示す。
【0108】図7に示す第1バス調停回路は、図示しな
い4つの通常のバスマスタA、B、C、Dと1つの特権
的なバスマスタS(以下、特権バスマスタSという)の
計5つのバスマスタからの第1バスに対するアクセスの
調停を司るものである。この第1バス調停回路は、1つ
の特権バスマスタSからの第1バスの使用要求に対して
は必ず次の1バスサイクルにおいて当該第1バスの使用
許可を与えるものとしている。一方、他の4つの通常の
バスマスタA、B、C、Dからの第1バスの使用要求に
対しては優先順位情報に従って最も優先順位の高いバス
マスタに対してのみ次の1バスサイクルにおいて使用許
可を与えるように調停を行うものである。ここに特権バ
スマスタSとしてはDRAMリフレッシュ制御回路等が
想定される一方、通常のバスマスタとしては前記の中央
演算処理プロセッサ等が想定される。
【0109】この第1バス調停回路においては、第1の
アドレスバス及びリードライト信号、第1のデータバス
からなる第1バスの調停を司り、内蔵するレジスタへは
第1バスからアクセスされるものとなされている。バス
サイクルはクロック信号の1サイクルに相当し、バスサ
イクル毎に調停が行われる。
【0110】上記第1バス調停回路は、図7に示すよう
に、16個の固定優先順位情報格納手段(101〜116)、
16個のプログラマブル優先順位情報格納手段(レジス
タ)(101'〜116')、アドレスデコーダ(117)、固定
/プログラマブル切替制御レジスタ(118)、バスサイ
クルカウンタ(119)、優先順位情報選択手段(セレク
タ)(120)、使用許可信号生成手段(121)、データセ
レクタ(122)、3ステートバッファ(123、124)およ
び代替アドレス発生手段(125)を備えている。
【0111】前記アドレスデコーダ(117)は、第1の
アドレスバス及びリードライト信号のデコードを行い、
各プログラマブル優先順位情報レジスタ(101'〜116')
の選択信号、データセレクタ(122)の制御信号、3ス
テートバッファ(123)の制御信号を生成するものであ
る。
【0112】前記固定/プログラマブル切替制御レジス
タ(118)は、固定優先順位情報格納手段(101〜116)
とプログラマブル優先順位情報レジスタ(101'〜116')
を切り換えて、固定優先順位情報又はプログラマブル優
先順位情報のいずれかを選択するものである。
【0113】前記各プログラマブル優先順位情報レジス
タ(101'〜116')は、各1組のプログラマブルな優先順
位情報を格納するレジスタであり、第1バスにアクセス
するプロセッサ等のバスマスタがこれらの情報を書き換
えることできるようになされている。
【0114】前記各固定優先順位情報格納手段(101〜1
16)は、各1組の固定優先順位情報を格納する手段であ
り、ワイヤードロジックにより構成されている。この情
報は書き換え不能である。この例においては、これらの
優先順位情報の値の大きさは2ビットであり、4つの優
先順位の組み合わせを表わす。但し、この値の大きさは
2ビットでなくとも良い。調停対象となるバスマスタの
数、優先順位の組み合わせの数、回路規模を考慮し最適
な値が用いられるべきである。
【0115】また、この例においては、固定優先順位情
報格納手段(101〜116)及びプログラマブル優先順位情
報レジスタ(101'〜116')の数はともに16個であり、
16バスサイクルを繰り返しの単位として調停が行われ
る。但し、この数は16でなくとも良い。調停対象とな
るバスマスタの数、及び各バスマスタへのバスサイクル
の配分比率、回路規模を考慮し最適な値が用いられるべ
きである。
【0116】前記バスサイクルカウンタ(119)は、第
1バスのバスサイクル数をカウントし、16バスサイク
ルを繰り返し単位とする現在値を指し示す。カウントの
最大値は優先順位情報の組数と等しく設定されるべきで
ある。
【0117】前記セレクタ(120)は、上記バスサイク
ルカウンタ(119)が指し示すバスサイクルの現在値の
情報から、16組の優先順位情報のうちの1組を選択す
る。前記使用許可信号生成手段(121)は、バスマスタ
A、バスマスタB、バスマスタC、バスマスタDの4つ
の通常のバスマスタと、1つの特権バスマスタSからの
第1バスの使用要求信号を受け付け、前記セレクタ(12
0)により選択された優先順位情報から最も優先順位の高
いバスマスタに対して第1バスの使用許可信号を生成
し、これを当該バスマスタに対して発行する。
【0118】ここで特権バスマスタSからの第1バス使
用要求信号を受け付けた場合、他のバスマスタA、B、
C、Dからの第1バス使用要求信号やこれらバスマスタ
A、B、C、Dの優先順位情報に拘わらず、無条件で次
の1バスサイクルの使用許可が特権バスマスタSに与え
られる。但し、この発明においてはアクセス対象となる
バスマスタの数や特権バスマスタの有無はこの実施の態
様に限定されるものではない。
【0119】前記データセレクタ(122)は、プロセッ
サ等のバスマスタより第1バスを介して各レジスタ(11
8,101'〜116')の値の読み出しが行われる際に、アドレ
スデコーダ(117)にて生成された制御信号にしたがっ
て、読み出すデータの選択を行うものである。
【0120】前記3ステートバッファ(123)は、アド
レスデコーダ(117)にて生成された制御信号によっ
て、データセレクタ(122)より送られるレジスタの値
を第1のデータバスに出力するか否かを制御するもので
ある。
【0121】もう一方の前記3ステートバッファ(12
4)は、バスマスタからのバス使用要求信号が全く無い
場合に、前記代替アドレス発生手段(125)から発せら
れる代替アドレスを第1のアドレスバス及びリードライ
ト信号に出力するように作用する。
【0122】次に、上述した第1バス調停回路の調停例
を説明する。以下に示す調停例においては、説明を簡潔
にする目的で、バスマスタAおよびバスマスタBのみか
らバス使用要求信号が発行され、バスマスタCおよびバ
スマスタDからはバス使用要求信号が発行されないもの
としている。即ち調停の対象をバスマスタAおよびバス
マスタBの2つに限定している。
【0123】第1バスの1バスサイクルはクロック信号
の1サイクルに相当する。バスサイクルカウンタ(119)
はバスサイクル毎に値をインクリメントし、0から15
までの値を周期的にカウントする。そして1バスサイク
ル毎に、バスサイクルカウンタ(119)の値に1対1で対
応する優先順位情報格納手段(101,101'〜116,116')のい
ずれかが選択され、選択された格納手段に格納されてい
た優先順位情報が取り出される。この例においては、優
先順位情報は2ビットの大きさを持つもので、0、1、
2、3の4つの値のうちのいずれか1を示す。
【0124】バスサイクルカウンタの値に対応する上記
優先順位情報の値の設定例を、図8に示す。この優先順
位情報の設定は、固定の優先順位情報およびプログラマ
ブルな優先順位情報のいずれの場合にも適用可能であ
る。また優先順位情報の値0、1、2、3とこれに対応
するバスマスタA、B、C、Dの優先順位の序列の設定
例を図8に示す。
【0125】図10に調停例その1を示し、図11に調
停例その2を示す。図10に示す調停例その1および図
11に示す調停例その2は、互いに一部異なる設計方式
によるものである。両者の相違点は、バスマスタがバス
の使用許可を得た際に、即座に自らの発行するバスの使
用要求信号にそれを反映可能であるか否か、という点に
ある。
【0126】図10に示す調停例その1を実現する設計
方式においては、バスマスタはバスの使用許可を得たサ
イクル内で、即座にバスの使用要求信号にそれを反映さ
せることが可能であるため、同一のバスマスタが連続し
てバス使用要求信号を行うことが許されている。
【0127】一方、図11に示す調停例その2を実現す
る設計方式においては、バスマスタはバスの使用許可を
得たサイクル内では、バスの使用要求信号にそれを反映
させることができないため、バス調停回路はバスの使用
許可を与えたサイクルでは、使用許可を与えたバスマス
タからの使用要求は無視している。従って、調停例その
2の設計方式においては、同一のバスマスタが連続して
バスの使用権を得ることはできない。しかしながら、調
停例その1の設計方式に比べて設計が容易であり、特に
高速での調停が必要とされる場合には有効な設計手法で
ある。
【0128】以下に第1バス調停例その1およびその2
に共通の点を先ず説明する。
【0129】いずれのバスマスタもバス使用要求信号を
発行していない場合には、バス調停回路はいずれのバス
マスタにもバス使用許可信号を発行しない。例えば最初
のバスサイクル(701,801)においては、バスマスタA、
バスマスタBのいずれもバス使用要求信号を発行してい
ないので、バス調停回路はいずれのバスマスタに対して
も次のバスサイクル(702,802)ではバスの使用を許可し
ない。
【0130】いずれか一方のバスマスタのみがバス使用
要求信号を発行している場合には、バス調停回路はその
バスマスタに対してバス使用要求信号を発行する。例え
ば第2番目のバスサイクル(702,802)においてはバスマ
スタAのみがバス使用要求信号を発行しているので、次
のバスサイクル(703,803)においてバスマスタAに使用
許可されている。
【0131】2つ以上のバスマスタが同時にバス使用要
求信号を発行している場合には、バス調停回路は優先順
位情報の表す優先順位序列に従って優先順位の高い方の
バスマスタを選択し、該バスマスタに対してバス使用許
可信号を発行する。例えば第6番目のバスサイクル(70
6,806)においては、バスマスタAとバスマスタBが同時
にバス使用要求信号を発行しており、バスマスタBがバ
スマスタAより高い優先順位を設定されているので、次
のバスサイクル(707,807)ではバスマスタBが使用許可
されている。
【0132】次に前記両調停例の相違点を説明する。
【0133】調停例その1においては、あるバスマスタ
がバスの使用許可を得たサイクルにおいて使用要求信号
の発行を終了した場合であって、当該サイクルにおいて
別のバスマスタが使用要求信号を発行している場合に
は、当該別のバスマスタのみが使用要求していることと
なる。従って、当該別のバスマスタAが次の1バスサイ
クルにおいてバスの使用許可を得る。例えば、図10に
示すようにバスマスタAがバスの使用許可を得た第3番
のバスサイクル(703)において使用要求信号の発行を終
了しており、当該バスサイクル(703)においてバスマス
タBが使用要求信号を発行しているので、バスマスタB
のみが使用要求していることとなり、次の1バスサイク
ル(704)ではバスマスタBが使用許可されている。
【0134】これに対し調停例その2では、あるバスマ
スタがバスの使用許可を得たバスサイクルにおいて使用
要求信号の発行を終了していない場合であって、当該バ
スサイクルにおいて別のバスマスタが使用要求信号を発
行している場合には、使用許可を得ているバスマスタか
らの使用要求を無視して、当該別のバスマスタからの使
用要求のみを受け付ける。従って、当該別のバスマスタ
が次の1バスサイクルにおいてバスの使用許可を得る。
例えば、バスマスタAがバスの使用許可を得た第3番の
バスサイクル(803)において使用要求信号の発行を終了
していないが、当該バスサイクル(803)においてバスマ
スタBが使用要求信号を発行している場合には、このバ
スサイクル(803)ではバスマスタAの使用要求を無視し
て、バスマスタBからの使用要求のみを受け付ける。従
って、次の1バスサイクル(804)ではバスマスタBが使
用許可されている。
【0135】また調停例その1では、同一のバスマスタ
が連続してバス使用要求を行った場合(707,708)、同一
のバスマスタに対して連続して2バスサイクル以上の使
用許可を与えることが可能である。例えばバスマスタA
は第7および第8番目のバスサイクル(707,708)におい
て連続してバスの使用要求をしており、連続して次の2
バスサイクル(708,709)において使用許可されている。
【0136】これに対して調停例その2では、バスマス
タに使用許可を与えたバスサイクル(808)においては、
そのバスマスタからの使用要求信号を無視するので、同
一のバスマスタに対し、連続した2バスサイクル以上の
使用許可を与えることはできない。例えばバスマスタA
は第8番目のバスサイクル(808)において使用許可され
ているので、当該バスサイクル(808)における使用要求
信号は無視され、次のバスサイクル(809)では使用許可
されていない。
【0137】次に第2バスに対する複数のバスマスタか
らのアクセスを調停する第2バス調停回路について説明
する。この調停回路は、4つのバスマスタの調停を司る
ものであり、第2のアドレスバス及びリードライト信
号、第2のデータバスからなる第2バスの調停を司り、
内蔵するレジスタへは第1のバスからアクセスされる。
バスサイクルはクロック信号の2〜8サイクル(但し整
数のみ)に相当し、バスサイクル毎に調停を行なう。
【0138】図12に第2バス調停回路の要部の概略を
示す。
【0139】この第2バス調停回路は、アドレスデコー
ダ(217)、固定/プログラマブル切替制御レジスタ(21
8)、8個の固定優先順位情報格納手段(201〜208)、
8個のプログラマブル優先順位情報レジスタ(201'〜20
8')、バスサイクルカウンタ(219)、セレクタ(22
0)、使用許可信号生成手段(221)、データセレクタ
(222)、3ステートバッファ(223,224)、代替アドレ
ス発生手段(225)からなる。
【0140】以下、第1バス調停回路との相違点を示
す。
【0141】第2バス調停回路では第2バスに対する各
バスマスタのアクセスの調停を目的としているので、使
用許可信号生成手段(221)は、各バスマスタからは第
2バス使用要求信号を受け付け、各バスマスタに対し第
2バスの使用許可信号を発行する。また、調停の対象と
なるバスマスタはバスマスタA、バスマスタB、バスマ
スタC、バスマスタDの4つである。これらのバスマス
タとしては、前述の中央演算処理プロセッサ等が想定さ
れる。
【0142】固定優先順位情報格納手段(201〜208)お
よびプログラマブル優先順位情報レジスタ(201'〜20
8')共に、その数は8個である。これに伴い、アドレス
デコーダ(217)、バスサイクルカウンタ(219)、セレ
クタ(220)、データセレクタ(222)の回路規模も第1
バス調停回路と比べて小さいものとなる。
【0143】但し、固定優先順位情報格納手段(201〜2
08)およびプログラマブル優先順位情報レジスタ(201'
〜208')の数は8個でなくとも良い。調停対象となるバ
スマスタの数、及び各バスマスタへのバスサイクルの配
分比率、回路規模を考慮し最適な値が用いられるべきで
ある。
【0144】3ステートバッファ(224)は、バスマス
タA、B、C、Dからの要求信号が全く無い場合に、代
替アドレス発生手段(225)から発せられる代替アドレ
スを第2のアドレスバス及びリードライト信号に出力す
る。
【0145】図13に第2バス調停例を示す。この調停
例においても、説明を簡潔にするために、バスマスタC
およびバスマスタDからはバス使用要求信号が発行され
ないものとし、調停の対象をバスマスタAおよびバスマ
スタBの2つに限定している。
【0146】前述の様に、第2バスは大きく2つの領域
を持ち、それぞれに異なったバスサイクルを設定される
ことが可能である。この例ではバスマスタAがアクセス
する領域の1バスサイクルはクロック信号の4サイク
ル、バスマスタBがアクセスする領域の1バスサイクル
はクロック信号の2サイクルに相当する。
【0147】但し、いずれのバスマスタもバスを使用し
ていない期間は、1バスサイクルはクロック信号の1サ
イクルに相当する。
【0148】バス使用許可信号は、バスの使用を許可す
るバスマスタに対し、1バスサイクルの最初のクロック
信号の1サイクル期間のみハイレベルを示す。バス使用
許可信号を受領したバスマスタは、このバスサイクルが
終了するまでの期間のバス使用を許可される。
【0149】バスサイクル終了信号は、1バスサイクル
の最後のクロック信号の1サイクル期間のみハイレベル
を示し、これ以外の期間はロウレベルを示す。いずれの
バスマスタもバスを使用していない期間はハイレベルを
出力される。この信号は、全てのバスマスタに対しても
共通の信号である。
【0150】バスサイクルカウンタ(219)は、バスサイ
クル毎に値をインクリメントし、0から7の値を周期的
にカウントする。
【0151】バスサイクル毎に、バスサイクルカウンタ
(219)の値に1対1で対応する優先順位情報の値が選択
される。この例においては、優先順位情報は2ビットの
大きさを持ち、0〜3の4つの値のうちのいずれかを示
す。
【0152】この例における優先順位情報の内容は、図
14に示されている。ここでは、これが固定の優先順位
情報であるか、プログラマブルな優先順位情報であるか
は特に規定されていないが、どちらの場合にも適用可能
である。
【0153】優先順位情報の値は、これに対応するバス
マスタの優先順位の序列を表す。ここでも第1バスの調
停例と同様の図8に示す設定例が用いられている。
【0154】いずれのバスマスタも第2バス使用要求信
号を発行していない場合には、第2バス調停回路はいず
れのバスマスタにもバス使用許可信号を発行しない。例
えば最初のバスサイクル(901)においては、バスマスタ
A、バスマスタBのいずれもバス使用要求信号を発行し
ていないので、バス調停回路はいずれのバスマスタに対
しても次のバスサイクル(902)ではバスの使用を許可し
ない。
【0155】いずれか一方のバスマスタのみがバス使用
要求信号を発行している場合には、バス調停回路はその
バスマスタに対してバス使用要求信号を受け付けた次の
サイクルでバス使用許可信号を発行し、バスサイクル終
了信号を発行するまで当該バスサイクルの使用許可を与
える。例えば第2番目のバスサイクル(902)においては
バスマスタAのみがバス使用要求信号を発行しており、
次のバスサイクル(903)の途中においてバス使用終了信
号が発行されているので、当該バスサイクル(903)の全
ての期間においてバスマスタAに使用許可されている。
【0156】2つ以上のバスマスタが同時にバス使用要
求信号を発行している場合には、バス調停回路は優先順
位情報の表す優先順位序列に従って優先順位の高い方の
バスマスタを選択し、該バスマスタに対してバス使用許
可信号を発行する。例えば第6番目のバスサイクル(90
6)においては、バスマスタAとバスマスタBが同時にバ
ス使用要求信号を発行しており、バスマスタBがバスマ
スタAより高い優先順位を設定されているので、次のバ
スサイクル(907)ではバスマスタBが使用許可されてい
る。
【0157】この例においては、バスマスタはバス使用
許可信号をクロック信号の立ち下がりで検知し、その結
果を自らの発行するバス使用要求信号に反映している。
この例においては、バスマスタに与えられる最短のバス
サイクルがクロック信号の2サイクルに相当するため
に、バスマスタはバスサイクルの終了までに前記動作を
完了可能である。従って、同一のバスマスタが連続して
バス使用要求を行うことが許されている。
【0158】あるバスマスタが使用を許可されているバ
スサイクル(908)の終了時に、同じバスマスタがバス
使用要求信号を発行している場合、バス調停回路は同じ
バスマスタに対し、次のバスサイクル(909)の使用許
可を再び与える。
【0159】以下、本発明に係る高速マルチプロセッサ
について説明する。
【0160】図15に高速マルチプロセッサの要部の概
略を示す。本実施例にかかるこの高速マルチプロセッサ
は、1つの中央演算処理プロセッサ(バスマスタ)(13
01)、1つのグラフィック処理プロセッサ(バスマス
タ)(1302)、1つのサウンド処理プロセッサ(バスマ
スタ)(1303)、1つのダイレクトメモリ転送(DM
A)制御プロセッサ(バスマスタ)(1304)、内部メモ
リ(バススレーブ)(1305)、第1バス調停回路(130
6)、第2バス調停回路(1307)、入出力制御回路(バ
ススレーブ)(1308)、タイマ回路(バススレーブ)
(1309)、アナログ/デジタル(A/D)コンバータ
(バススレーブ)(1310)、PLL回路((1311)、ク
ロックドライバ(1312)、低電圧検出回路(1313)、外
部メモリインターフェース回路(1314)を有し、必要に
応じてDRAMリフレッシュ制御回路(バスマスタ)
(1315)を有する。
【0161】また、第1のアドレスバス及びリードライ
ト信号(1316)と第1のデータバス(1317)が高速な第
1バスを構成し、第2のアドレスバス及び第2のリード
ライト信号(1318)と第2のデータバス(1319)が低速
な第2バスを構成している。
【0162】第2のアドレスバス及びリードライト信号
(1318)は外部アドレスバス及びリードライト信号(13
20)に、第2のデータバス(1319)は外部データバス
(1321)に、それぞれ外部メモリインターフェース回路
(1314)を通じて接続されている。
【0163】本マルチプロセッサの外部には、1つ以上
の外部リードオンリーメモリ(ROM)(バススレー
ブ)(1322)、必要に応じて1つ以上の外部ランダムア
クセスメモリ(RAM)(バススレーブ)(1323)、水
晶振動子(1324)により構成される発振回路、及び必要
に応じてスタティックメモリ(SRAM)のデータ保持
のためのバッテリ(1325)が必要とされる。
【0164】本マルチプロセッサが備える中央演算処理
プロセッサ(1301)は、前記中央演算処理プロセッサが
そのまま用いられている。
【0165】本マルチプロセッサが備える第1バス調停
回路(1306)と第2バス調停回路(1307)は、前記第1
及び第2調停回路がそのまま用いられている。
【0166】図15中に示される第1バス調停信号は、
第1バス使用要求信号、第1バスの使用許可信号からな
り、第2バス調停信号は、第2バス使用要求信号、第2
バス使用許可信号、第2バスのバスサイクル終了信号か
らなる。
【0167】ここで、バスマスタA、バスマスタB、バ
スマスタC、バスマスタDは、夫々サウンド処理プロセ
ッサ、(1303)、グラフィック処理プロセッサ(130
2)、DMA制御プロセッサ(1304)、中央演算処理プ
ロセッサ(1301)に相当し、特権バスマスタはDRAM
リフレッシュ制御回路(1315)に相当する。
【0168】本マルチプロセッサを構成する各部の機能
について説明する。
【0169】中央演算処理プロセッサ(1301)は、メモ
リに格納されたプログラムに従い、各種演算やシステム
全体の制御を行う。
【0170】グラフィック処理プロセッサ(1302)は、
グラフィックデータの合成、カラーテレビジョン受像機
に合わせた映像信号の生成を行う。グラフィックデータ
は、テレビジョン受像機のスクリーンを全て覆う大きさ
を持つ矩形の画素集合の2次元配列からなるグラフィッ
ク要素と、スクリーン上のいずれの位置にも配置可能な
1つの矩形の画素集合からなるグラフック要素から合成
される。ここでは、前者をテキストスクリーン、後者を
スプライトと呼称し、それぞれの矩形の画素集合を共に
キャラクタと呼称する。本実施例に用いられたものは最
大で2枚のテキストスクリーンと最大で256個のスプ
ライトが表示可能である。合成されたグラフックデータ
より、NTSC規格及びPAL規格に準ずる受像機に表
示可能な映像信号が生成される。
【0171】サウンド処理プロセッサ(1303)は、サウ
ンドデータの合成、音声信号の生成を行う。サウンドデ
ータは、基本の音色となるPCM(パルスコードモジュ
レーション)データに対し、ピッチ変換及び振幅変調を
行い合成される。振幅変調では、中央演算処理プロセッ
サ(1301)によって指示されるボリューム制御の他に、
ピアノ、ドラムといった楽器の波形を再現するためのエ
ンベロープ制御の機能が用意される。
【0172】DMA制御プロセッサ(1304)は、外部R
OMもしくは外部RAMから内部メモリへのデータ転送
を司る。
【0173】内部メモリ(1305)は、マスクROM、ス
タティックメモリ(SRAM)、ダイナミックメモリ
(DRAM)のうち、必要なものを備える。SRAMの
バッテリによるデータ保持が必要とされる場合、本マル
チプロセッサ外部にバッテリ(1325)が必要とされる。
DRAMが搭載される場合、定期的にリフレッシュと呼
ばれる記憶内容保持のための動作が必要とされる。
【0174】第1バス調停回路(1306)は、第1バスに
接続されている各バスマスタからの第1バス使用要求信
号を受け付け、第1バスの優先順位情報に従って調停を
行い、各バスマスタへのバスの使用許可信号を発行す
る。本実施例での第1バスのバスサイクルは、クロック
信号の1サイクルに相当するので、バス調停回路は前記
の動作をクロック信号の1サイクル毎に行う。
【0175】第2バス調停回路(1307)は、第2バスに
接続されている各プロセッサからの第2バスの使用要求
信号を受け付け、第2バスの優先順位情報に従って第2
バスの調停を行い、プロセッサへのバス使用許可信号を
発行する。本実施例での第2バスのバスサイクルは、ク
ロック信号の2〜8サイクルに相当するので、バス調停
回路は上記の動作をバスサイクル毎に行うと共に、バス
サイクル終了信号を発行し、プロセッサにバスサイクル
の終了を知らせる。
【0176】入出力制御回路は(1308)は、人間からの
入力を受け付ける外部入力装置や外部の半導体素子との
通信などに主に用いられる。
【0177】タイマ回路(1309)は、プログラムが設定
した時間間隔に基づき、中央演算処理プロセッサ(130
1)に対し、割り込み要求信号を発生する機能を有す
る。
【0178】A/Dコンバータ(1310)は、アナログレ
ベルの入力電圧信号をデジタル数値へと変換する。
【0179】PLL回路(1311)は、フェイズロックド
ループ(PLL)により、構成され、プロセッサ外部の
水晶振動子(1324)より得られる正弦波信号をM/N倍
(M、Nは整数)した高周波クロック信号を生成する。
【0180】クロックドライバ(1312)は、PLL回路
より受け取った高周波信号を、各機能ブロックへのクロ
ック信号を供給するのに充分な信号強度へと増幅する。
【0181】低電圧検出回路(1313)は、電源電圧を監
視し、電源電圧が定められた一定電圧以下の時に、PL
L回路のリセット、その他のシステム全体のリセットを
制御する信号を発行する。また、本プロセッサ内部また
は外部にSRAMが設けられていて、なおかつSRAM
のバッテリによるデータ保持が要求される場合、電源電
圧が定められた一定電圧以下の時に、バッテリバックア
ップ制御信号を発行する機能を有する。
【0182】外部メモリインターフェース回路(1314)
は、第2バスを外部バスに接続するための機能、第2バ
スサイクル長制御レジスタ、メモリマップモード制御レ
ジスタを有する。
【0183】本高速マルチプロセッサには2種類のメモ
リマップモード存在し、制御レジスタにより切替が可能
である。いずれのメモリマップモードにおいても、外部
バスの空間はROM領域とROM/RAM領域の大きく
二つに分けられており、それぞれに異なる1バスサイク
ルのクロック数を指定することが可能である。ROM領
域は、前記の第2バス領域Aに、ROM/RAM空間は
前記の第2バス領域Bに相当する。
【0184】DRAMリフレッシュ制御回路(1315)
は、一定期間毎に第1バスの使用権を無条件で獲得し、
DRAMのリフレッシュ動作を制御する。
【0185】サウンド処理プロセッサ(1303)、グラフ
ィック処理プロセッサ(1302)、DMA制御プロセッサ
(1304)、タイマ回路(1309)、入出力制御回路(130
8)、A/Dコンバータ(1310)は、中央演算処理プロ
セッサ(1301)に対し、割り込み要求信号を発生する機
能を有する。これらは夫々図15に示す割り込み要求信
号A〜Fに相当する。
【0186】上記高速マルチプロセッサを用いた場合の
第1の効果は、バススレーブの応答速度及び/または
ータ転送能力に合わせてバスを第1バスと第2バスの二
つに分割しているので、これらの共有バスの使用効率が
高まり、高速マルチプロセッサ全体としての処理能力が
向上することである。
【0187】第2の効果は、各々のバスマスタが第1バ
スと第2バスに対するインターフェースを独立に有して
おり、片方のバスを使用する際に、もう一方のバスを無
駄に占有することがなく、前述の効果と同様に共有バス
の使用効率が高まることである。
【0188】第3の効果は、バスサイクルがバスマスタ
のバスサイクルスピードによって定められず、バススレ
ーブ及びバスそのものが動作可能な最速でバスサイクル
が定められることにより、実施例に示される中央演算処
理プロセッサのように低速なバスサイクルを有するバス
マスタがアクセスする場合でも、バスの使用効率が落ち
ることが無いことである。
【0189】第4の効果は、実施例に示す中央演算処理
プロセッサのように、単一の論理アドレス空間上に複数
の物理アドレス空間が配置されるようになされることに
より、これら複数の物理アドレス空間をプログラム上で
統一的かつ連続的に扱うことが可能になることである。
【0190】第5の効果は、前述のようにバス調停回路
が構成されることにより、各バスマスタのバス使用権の
配分に重み付けを与えることと、全てのバスマスタに対
して一定期間内においてバス使用権の取得を保証するこ
とが可能となり、さらに処理内容の変化に対応してバス
マスタのバス使用権の配分の重み付けを動的に変化させ
ることにより、システム全体としての総合処理能力を高
めることが可能となることである。
【0191】第6の効果は、この実施例に示す高速マル
チプロセッサを単一半導体素子上で実現することによ
り、複数バスを備えることや、各々のバスマスタが複数
バスに対するインターフェースを独立に有することによ
る配線の多さが問題にならなくなり、非常に簡素な外部
回路にて高性能なシステムを実現することが可能となる
ことである。
【図面の簡単な説明】
【図1】 本発明にかかる高速プロセッサの概要を示す
説明図である。
【図2】 上記高速プロセッサに用いられる中央演算処
理プロセッサの構成例を示す説明図である。
【図3】 上記中央演算処理プロセッサの論理アドレス
空間のメモリマップモード1を示す説明図である。
【図4】 上記中央演算処理プロセッサの論理アドレス
空間のメモリマップモード2を示す説明図である。
【図5】 上記中央演算処理プロセッサの第1バス使用
例を示すタイミングチャートである。
【図6】 上記中央演算処理プロセッサの第2バス使用
例を示すタイミングチャートである。
【図7】 第1バス調停回路の概要を示す回路図であ
る。
【図8】 第1バス調停回路における優先順位情報の設
定例を示す表である。
【図9】 優先順位情報の表す優先順位序列の例を示す
表である。
【図10】 第1バスの調停例その1を示すタイミング
チャートである。
【図11】 第1バスの調停例その2を示すタイミング
チャートである。
【図12】 第2バス調停回路の概要を示す回路図であ
る。
【図13】 第2バスの調停例を示すタイミングチャー
トである。
【図14】 第2バス調停回路における優先順位情報の
設定例を示す表である。
【図15】 本発明にかかる高速プロセッサを用いた実
施例を示す回路図である。
【図16】 従来のバスシステムの説明図である。
【符号の説明】 1 バスマスタ 2 バスマスタ 10 バス 11 バス 20 バススレーブ 21 バススレーブ
フロントページの続き (56)参考文献 特開 平7−28774(JP,A) 特開 平4−286048(JP,A) 特開 平3−278262(JP,A) 特開 昭58−169612(JP,A) 特開 平3−176754(JP,A) 特開 平1−321543(JP,A) 特開 昭63−133252(JP,A) 特開 昭63−66654(JP,A) 特開 平8−129524(JP,A) 特開 昭60−214065(JP,A) 特開 平7−134701(JP,A) 特開 平6−12368(JP,A) 特開 平8−235111(JP,A) 実開 昭50−74827(JP,U) (58)調査した分野(Int.Cl.7,DB名) G06F 13/20 - 13/42

Claims (7)

    (57)【特許請求の範囲】
  1. 【請求項1】それぞれが独立したアドレスバスおよびデ
    ータバスを有しかつ互いに異なる転送能力を有する第1
    バスおよび第2バス、 それぞれが前記第1バスおよび前記第2バスの両方に直
    接接続される複数のバスマスタ、 それぞれが前記第1バスおよび前記第2バスのいずれか
    一方に接続される複数のバススレーブ、 前記バスマスタのバスサイクル速度に依存せず、前記第
    1バスに接続されるバススレーブにアクセス可能な最速
    の時間と前記第1バスが動作可能である最速の時間の内
    のどちらか遅い方を前記第1バスのバスサイクル期間と
    定め、前記第1バスのバスサイクル毎に必ずバス使用権
    の判定を行い、1バスサイクル単位で前記複数のバスマ
    スタの内1つに1バスサイクル単位でバス使用許可信号
    を発行する第1バス調停回路、および前記バスマスタの
    バスサイクル速度に依存せず、前記第2バスに接続され
    るバススレーブにアクセス可能な最速の時間と前記第2
    バスが動作可能である最速の時間の内のどちらか遅い方
    を前記第2バスのバスサイクル期間と定め、前記第2バ
    スのバスサイクル毎に必ずバス使用権の判定を行い、
    記複数のバスマスタの内1つに1バスサイクル単位の始
    端で第2バス使用許可信号を発行する第2バス調停回路
    を備え、 前記第2バスは第1の領域と第2の領域に分割され、さ
    らに前記第2バス使用許可信号を受領した前記バスマス
    タの発行するアドレスが前記第1の領域と前記第2の領
    域のいずれに該当するかを前記第2バスのバスサイクル
    毎に判別し、前記第1の領域に該当すると判別した場合
    には第1のバスサイクル期間長を、前記第2の領域に該
    当すると判別した場合には第2のバスサイクル期間長を
    当該バスサイクルの長さとして定め、定められたバスサ
    イクルの長さに従って各バスサイクルの終端でバスサイ
    クル終了信号を発行するバスサイクル長制御手段を備
    え、 前記第1バス使用許可信号を受領した前記バスマスタ
    は、前記第1バス使用許可信号によって使用を許可され
    たバスサイクル期間内で前記第1バスにおけるデータの
    送受を行い、前記第2バス使用許可信号を受領した前記
    バスマスタは、前記第2バス使用許可信号によって前記
    第2バスにおけるデータの送受を開始し、前記バスサイ
    クル終了信号によってデータの送受を終了する、高速プ
    ロセッサ。
  2. 【請求項2】それぞれが独立したアドレスバスおよびデ
    ータバスを有しかつ互いに異なる動作速度を有する第1
    バスおよび第2バス、 それぞれが前記第1バスおよび前記第2バスの両方に直
    接接続される複数のバスマスタ、 それぞれが前記第1バスおよび前記第2バスのいずれか
    一方に接続される複数のバススレーブ、 前記バスマスタのバスサイクル速度に依存せず、前記第
    1バスに接続されるバススレーブにアクセス可能な最速
    の時間と前記第1バスが動作可能である最速の時間の内
    のどちらか遅い方を前記第1バスのバスサイクル期間と
    定め、前記第1バスのバスサイクル毎に必ずバス使用権
    の判定を行い、1バスサイクル単位で前記複数のバスマ
    スタの内1つに1バスサイクル単位でバス使用許可信号
    を発行する第1バス調停回路、および前記バスマスタの
    バスサイクル速度に依存せず、前記第2バスに接続され
    るバススレーブにアクセス可能な最速の時間と前記第2
    バスが動作可能である最速の時間の内のどちらか遅い方
    を前記第2バスのバスサイクル期間と定め、前記第2バ
    スのバスサイクル毎に必ずバス使用権の判定を行い、
    記複数のバスマスタの内1つに1バスサイクル単位の始
    端で第2バス使用許可信号を発行する第2バス調停回路
    を備え、 前記第2バスは第1の領域と第2の領域に分割され、さ
    らに前記第2バス使用許可信号を受領した前記バスマス
    タの発行するアドレスが前記第1の領域と前記第2の領
    域のいずれに該当するかを前記第2バスのバスサイクル
    毎に判別し、前記第1の領域に該当すると判別した場合
    には第1のバスサイクル期間長を、前記第2の領域に該
    当すると判別した場合には第2のバスサイクル期間長を
    当該バスサイクルの長さとして定め、定められたバスサ
    イクルの長さに従って各バスサイクルの終端でバスサイ
    クル終了信号を発行するバスサイクル長制御手段を備
    え、 前記第1バス使用許可信号を受領した前記バスマスタ
    は、前記第1バス使用許可信号によって使用を許可され
    たバスサイクル期間内で前記第1バスにおけるデータの
    送受を行い、前記第2バス使用許可信号を受領した前記
    バスマスタは、前記第2バス使用許可信号によって前記
    第2バスにおけるデータの送受を開始し、前記バスサイ
    クル終了信号によってデータの送受を終了する、高速プ
    ロセッサ。
  3. 【請求項3】前記バスマスタは,前記第1バス調停回路
    および第2バス調停回路に対してバス使用要求信号を出
    力する機能、バス使用許可信号が得られるまで前記第1
    バスおよび前記第2バスに対するアクセスを待機する機
    能、および前記第1バスおよび前記第2バスに対してア
    ドレスを送出する機能をそれぞれ有し、さらに前記第1
    バスのための第1インターフェースおよび前記第2バス
    のための第2インターフェースを含む、請求項1または
    2記載の高速プロセッサ。
  4. 【請求項4】前記第1インターフェースおよび前記第2
    インターフェースは、それぞれ、 前記第1バスまたは前記第2バスに対するアドレスの出
    力・非出力を制御する、バス毎に独立した複数組の3ス
    テートバッファと、 前記第1バスまたは前記第2バスに対するデータの入出
    力および接続・非接続を制御する、バス毎に独立した複
    数組の双方向3ステートバッファと、 前記第1バス調停回路または前記第2バス調停回路から
    のバス使用許可および前記バスサイクル長制御手段によ
    って定められるバスサイクルの長さに基づいて前記複数
    組の3ステートバッファおよび前記複数組の双方向3ス
    テートバッファを制御する手段とを含む、請求項3記載
    の高速プロセッサ。
  5. 【請求項5】前記バスマスタは、 論理アドレスをそのバスマスタの内部で発行する手段
    と、 行された論理アドレスをデコードするデコーダと、 デコードされたアドレス情報に基づいて複数のバスの内
    の1つを選択して前記バス使用要求信号を出力する手段
    と、 前記発行された論理アドレスに基づいて物理アドレスを
    生成する手段とを備え、 前記生成された物理アドレスが前記第1バスまたは前記
    第2バスに対して前記複数組の3ステートバッファを通
    して出力され、それによって前記第1バスおよび前記第
    2バス毎に独立な複数の物理アドレス空間を単一の論理
    アドレス空間の内の一部に割り当てた、請求項1ないし
    4のいずれかに記載の高速プロセッサ。
  6. 【請求項6】前記の全ての構成要素が単一の半導体素子
    内に集積されてなる、請求項1ないし5のいずれかに記
    載の高速プロセッサ。
  7. 【請求項7】それぞれが前記バスマスタである、1また
    は複数の中央演算処理プロセッサと、グラフィック処理
    を行いビデオ信号を発生する手段を備えるグラフィック
    処理プロセサと、サウンド処理を行いオーディオ信号を
    発生する手段を備えるサウンド処理プロセサとを含み、 前記第1バスは前記半導体素子内部の機能ブロック及び
    高速な半導体メモリとのデータ転送、交換を司り、そし
    て前記第2バスは前記半導体素子外部の周辺装置及び低
    速な半導体メモリとのデータ転送、交換を司る、請求項
    6記載の高速プロセッサ。
JP13280097A 1997-02-17 1997-05-06 高速プロセッサ Expired - Fee Related JP3467382B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP13280097A JP3467382B2 (ja) 1997-05-06 1997-05-06 高速プロセッサ
TW087101481A TW448363B (en) 1997-02-17 1998-02-05 High speed processor system with bus arbitration
US09/019,277 US6070205A (en) 1997-02-17 1998-02-05 High-speed processor system having bus arbitration mechanism
CNB981008178A CN1148666C (zh) 1997-02-17 1998-02-16 具总线调停机制的高速处理器系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP13280097A JP3467382B2 (ja) 1997-05-06 1997-05-06 高速プロセッサ

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2003278296A Division JP3910165B2 (ja) 2003-07-23 2003-07-23 高速プロセッサ

Publications (2)

Publication Number Publication Date
JPH10307790A JPH10307790A (ja) 1998-11-17
JP3467382B2 true JP3467382B2 (ja) 2003-11-17

Family

ID=15089872

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13280097A Expired - Fee Related JP3467382B2 (ja) 1997-02-17 1997-05-06 高速プロセッサ

Country Status (1)

Country Link
JP (1) JP3467382B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7322889B2 (en) 2003-10-23 2008-01-29 Ssd Company Limited Game for moving an object on a screen in response to movement of an operation article
US7554545B2 (en) 2003-11-04 2009-06-30 Ssd Company Limited Drawing apparatus operable to display a motion path of an operation article
US7297864B2 (en) 2004-01-20 2007-11-20 Ssd Company Limited Image signal generating apparatus, an image signal generating program and an image signal generating method
US7555105B2 (en) 2004-03-10 2009-06-30 Ssd Company Limited Mail exchange apparatus, mail exchange system, storage medium and mail exchange method
JP2005296432A (ja) 2004-04-14 2005-10-27 Shinsedai Kk ゲーム機用コントローラ及びゲーム機
WO2007023975A1 (ja) * 2005-08-22 2007-03-01 Ssd Company Limited マルチプロセッサ、ダイレクトメモリアクセスコントローラ、及びシリアルデータ送受信装置
JP4848562B2 (ja) * 2005-08-22 2011-12-28 新世代株式会社 マルチプロセッサ
DE102009027625A1 (de) * 2009-07-10 2011-01-13 Robert Bosch Gmbh Elektrische Schaltung zur Übertragung von Signalen zwischen zwei Mastern und einem oder mehreren Slaves
JP2011039713A (ja) * 2009-08-07 2011-02-24 Panasonic Corp 外部バスインタフェース、lsiおよびシステム

Also Published As

Publication number Publication date
JPH10307790A (ja) 1998-11-17

Similar Documents

Publication Publication Date Title
US6070205A (en) High-speed processor system having bus arbitration mechanism
US4933846A (en) Network communications adapter with dual interleaved memory banks servicing multiple processors
JP2569323B2 (ja) コプロセツサア−キテクチヤ
US5511165A (en) Method and apparatus for communicating data across a bus bridge upon request
KR100265263B1 (ko) 프로그램가능 공용 메모리 시스템 및 방법
US7908416B2 (en) Data processing unit and bus arbitration unit
EP0597262B1 (en) Method and apparatus for gradually degrading video data
US5857083A (en) Bus interfacing device for interfacing a secondary peripheral bus with a system having a host CPU and a primary peripheral bus
US5655112A (en) Method and apparatus for enabling data paths on a remote bus
JP3350043B2 (ja) 図形処理装置及び図形処理方法
JPH07175783A (ja) ディジタル信号処理プロセッサ
US4782462A (en) Raster scan video controller with programmable prioritized sharing of display memory between update and display processes and programmable memory access termination
US6954818B2 (en) Providing a burst mode data transfer proxy for bridging a bus
JP3467382B2 (ja) 高速プロセッサ
JP2000211210A (ja) 複合機器の制御装置及び方法
JP3541112B2 (ja) バス調停システム
JP4042088B2 (ja) メモリアクセス方式
JP3910165B2 (ja) 高速プロセッサ
JPH0883237A (ja) データ処理装置
WO2006004166A1 (en) Data processing unit and compatible processor
JP2004127245A (ja) 半導体集積回路装置
JPH07271654A (ja) コントローラ
JP2004110852A (ja) バス調停システム
EP0172342A2 (en) Bus control gate array
KR100469284B1 (ko) 디지털 티브이의 버퍼 뱅크 제어 장치

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20030819

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090829

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100829

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 9

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 9

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120829

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees