Warning: copy(.htaccess): failed to open stream: Permission denied in /home/jp321/public_html/header.php on line 8
マイクロコンピュータシステム - 株式会社日立製作所
米国特許情報 | 欧州特許情報 | 国際公開(PCT)情報 | Google の米国特許検索
 
     特許分類
A 農業
B 衣類
C 家具
D 医学
E スポ−ツ;娯楽
F 加工処理操作
G 机上付属具
H 装飾
I 車両
J 包装;運搬
L 化学;冶金
M 繊維;紙;印刷
N 固定構造物
O 機械工学
P 武器
Q 照明
R 測定; 光学
S 写真;映画
T 計算機;電気通信
U 核技術
V 電気素子
W 発電
X 楽器;音響


  ホーム -> 計算機;電気通信 -> 株式会社日立製作所

発明の名称 マイクロコンピュータシステム
発行国 日本国特許庁(JP)
公報種別 公開特許公報(A)
公開番号 特開2003−330907(P2003−330907A)
公開日 平成15年11月21日(2003.11.21)
出願番号 特願2003−113567(P2003−113567)
出願日 平成4年11月6日(1992.11.6)
代理人 【識別番号】100075096
【弁理士】
【氏名又は名称】作田 康夫
【テーマコード(参考)】
5B062
5B077
【Fターム(参考)】
5B062 DD10 JJ10 
5B077 BA02 MM02
発明者 増村 茂樹 / 中村 英夫 / 野口 孝樹 / 河崎 俊平 / 深田 馨 / 赤尾 泰
要約 課題
マイクロコンピュータシステムで、バス並びにそのバスに接続されたメモリや周辺機能ユニットの実効的な動作速度を上げ、バスインタフェース仕様を容易に変更できるバスの動作方式を提供する。

解決手段
バスマスタ101、102が接続されたバス113、114を介するアクセス動作をパイプライン実行し、パイプライン実行の制御を専用のバスコントローラ111で行なう。更に該パイプライン動作を遅滞させるアクセスは、バッファ手段112で接続される下位階層のバス123、124と下位階層専用のバスコントローラ121で実行する。
特許請求の範囲
【請求項1】バスマスタと、前記バスマスタからのアドレスが伝達される第1アドレスバスと、前記バスマスタからのデータが伝達される第1データバスと、前記第1アドレスバスと前記第1データバスとに結合された高速メモリと、前記第1アドレスバスと前記第1データバスとに結合された第1のバスバッファと、前記第1アドレスバスに前記第1バスバッファを介して結合された第2アドレスバスと、前記第1データバスに前記第1バスバッファを介して結合された第2データバスと、前記第2アドレスバスと前記第2データバスとに結合された低速デバイスと、前記バスマスタから発行されたアクセス要求に応答して前記第1のアドレスバスと前記第1のデータバスとのバス権を許可する第1バスコントローラ部と、前記バスマスタのアクセス要求が前記低速デバイスである場合に、前記低速デバイスの動作を制御する第2バスコントローラ部とを有するバスコントローラとを具備し、前記バスマスタは、前記高速メモリ又は前記低速デバイスにアクセスするために、アドレス出カステージとデータリード・ライトステージとを含むパイプライン動作を行い、前記パイプライン動作は、前記第1のアドレスバスと前記第1のデータバスとのバス権を許可するか否かを示す第1制御信号と、前記パイプライン動作を停止するか否かを示す第2制御信号により制御され、前記第1制御信号及び第2制御信号は、前記バスコントローラから出力され、前記第1制御信号は、前記第1のアドレスバスと前記第1のデータバスとのバス権を許可する場合にアサートされ、前記第2制御信号は、前記パイプライン動作を停止する場合にネゲートされ、前記バスマスタは、前記第1制御信号及び前記第2制御信号がアサートされている場合に、前記アドレス出力ステージを行い、前期第2制御信号がネゲートされている場合は、前記パイプライン動作を停止することを特徴とするマイクロコンピュータシステム。
【請求項2】請求項1において、前記バスコントローラは、前記第1のアドレスバスに出力されるアクセスアドレスを監視して、前記低速デバイスへのアクセスかを判定することを特徴とするマイクロコンピュータシステム。
【請求項3】請求項1又は2において、前記パイプライン動作は、アービトレーションステージを更に有することを特徴とするマイクロコンピュータシステム。
【請求項4】請求項1から3の何れか一つにおいて、前記バスマスタは、複数設けられ、前記第1制御信号は、前記複数のバスマスタの夫々に対応して複数出力されることを特徴とするマイクロコンピュータシステム。
【請求項5】請求項1から4の何れか一つにおいて、前記バスマスタは、前記高速メモリ及び前記低速デバイスと一つのチップ上に内蔵されることを特徴とするマイクロコンピュータシステム。
【請求項6】バスマスタからのメモリアクセスを階層的にパイプライン実行することを特徴とするマイクロコンピュータシステム。
発明の詳細な説明
【0001】
【発明の属する技術分野】本発明は、バスマスタと、メモリや周辺機能ユニットと、これらのユニットに接続されデータ転送を行うバスとを有するマイクロコンピュータシステムに関する。
【0002】
【従来の技術】バスマスタであるマイクロコンピュータ等のプロセッサと、メモリや周辺機能ユニットと、バスとから構成されたマイクロコンピュータシステムにおいては、それぞれのユニット間でのデータの授受を行なう必要が有る。
【0003】一方、マイクロコンピュータ等の論理回路を高速に動作させるためには、動作周波数を上げて全体として高速に動作させる第1の方法と、パイプライン処理によって実効的に高速動作を実現する第2の方法がある。
【0004】第1の方法によると、デバイス的な限界があり、又、一般的に高価なシステムになってしまうことが多い。そこで、通常は、第1の方法と第2の方法を、コストと性能の両面から見て釣り合いのとれる範囲で併用している。
【0005】一方、マイクロコンピュータの方式としては、高機能な命令を豊富に備えるCISC(Complex Instruction Set Computer)方式と、簡単な命令を高速に実行するRISC(Reduced Instruction Set Computer)方式とが知られている。
【0006】RISC方式によるマイクロコンピュータでは、多くの命令がパイプライン実行によって1クロックサイクルで高速に実行されることになる。
【0007】
【発明が解決しようとする課題】しかしRISC方式によるマイクロコンピュータでは、命令フェッチやデータフェッチの頻度が高く、メモリや周辺機能ユニットとデータの授受を行なうバス手段の動作帯域が、システム全体の性能に大きく影響することになる。従って、RISC方式によるマイクロコンピュータを用いたシステムにおいては、高速なバス転送が必要となり、高速に動作するメモリや周辺機能ユニットが不可欠であった。しかし、実際には、そのバスに接続される全てのメモリや周辺機能ユニットが、そのシステムのバスマスタであるマイクロコンピュータと同じ速度で動作できるとは限らない。なぜなら、特に高速化を図ったマイクロコンピュータでは内部動作がパイプライン化されており、その1つのパイプラインステージに許される時間は、ほとんどの場合、そのシステムの基本クロックの1周期分でしかないからである。
【0008】このようにマイクロコンピュータが最も高速に動作している場合には、内部のパイプラインは乱れることなく順番に実行されており、これに接続されているバス及び全てのメモリや周辺機能ユニットを、そのシステムの基本クロックの1周期分で全て遅滞なく動作させることは極めて難しい。従って、マイクロコンピュータ内部に、パイプライン制御手段とあわせて、そのシステムのバスで種々のアクセスを行なうための種々のアクセスサイクルやアクセスデータサイズに関する制御を行なう外部インタフェースを備える必要があった。
【0009】このように上記従来技術によると、バスの動作速度、並びにそのバスによってアクセスされるメモリや周辺機能ユニットの動作速度、すなわちデータの読み出し又は書き込みのアクセス時間によって、システム全体の性能が律速されるという第1の問題がある。
【0010】又、上記従来技術によると、マイクロコンピュータの内部パイプライン動作に合わせた外部インタフェースによってバスを制御するために、本来必要とする基本的な外部インタフェースに加えて、そのバスに接続される可能性のある全てのメモリや周辺機能ユニットのアクセスに対応するインタフェース機能を備える必要があり、外部インタフェースが複雑になり、論理規模が増大するという第2の問題がある。
【0011】更に、そのマイクロコンピュータを使用して別のシステムを構築する際には、そのシステムのバスインタフェース仕様が限定されてしまうという第3の問題と、バスマスタが複数個あるシステムでは、それぞれのバスマスタ内部のパイプライン動作に対応した外部インタフェース回路をバスマスタの数だけ設ける必要があるという第4の問題がある。
【0012】従って本発明の目的とするところは、バス並びにメモリや周辺機能ユニットの実効的な動作速度を上げると共に、バスマスタ側のバスインタフェースを簡単化し、なおメモリや周辺機能ユニット側のインタフェース仕様をバスマスタ側のインタフェース回路を変更することなく容易に変更することのできるマイクロコンピュータシステムのバス動作方式を提供することにある。
【0013】
【課題を解決するための手段】上記目的は、バスを介して行なうアクセスをパイプライン実行し、更にアクセスされるデバイスの動作スピードに従ってそのアクセス動作を実行するバスを階層化して、しかも各階層のバスをそれぞれ或一定の範囲で独立に制御することが可能なバスコントローラを設けることによって達成される。
【0014】すなわち、本発明の基本的技術思想によれば、バスマスタと、前記バスマスタからのアドレスが伝達される第1アドレスバスと、前記バスマスタからのデータが伝達される第1データバスと、前記第1アドレスバスと前記第1データバスとに結合された高速メモリと、前記第1アドレスバスと前記第1データバスとに結合された第1のバスバッファと、前記第1アドレスバスに前記第1バスバッファを介して結合された第2アドレスバスと、前記第1データバスに前記第1バスバッファを介して結合された第2データバスと、前記第2アドレスバスと前記第2データバスとに結合された低速デバイスと、前記バスマスタから発行されたアクセス要求に応答して前記第1のアドレスバスと前記第1のデータバスとのバス権を許可する第1バスコントローラ部と、前記バスマスタのアクセス要求が前記低速デバイスである場合に、前記低速デバイスの動作を制御する第2バスコントローラ部とを有するバスコントローラとを具備し、前記バスマスタは、前記高速メモリ又は前記低速デバイスにアクセスするために、アドレス出カステージとデータリード・ライトステージとを含むパイプライン動作を行い、前記パイプライン動作は、前記第1のアドレスバスと前記第1のデータバスとのバス権を許可するか否かを示す第1制御信号と、前記パイプライン動作を停止するか否かを示す第2制御信号により制御され、前記第1制御信号及び第2制御信号は、前記バスコントローラから出力され、前記第1制御信号は、前記第1のアドレスバスと前記第1のデータバスとのバス権を許可する場合にアサートされ、前記第2制御信号は、前記パイプライン動作を停止する場合にネゲートされ、前記バスマスタは、前記第1制御信号及び前記第2制御信号がアサートされている場合に、前記アドレス出力ステージを行い、前期第2制御信号がネゲートされている場合は、前記パイプライン動作を停止することを特徴とする。
【0015】更には、前記バスコントローラは、前記第1のアドレスバスに出力されるアクセスアドレスを監視して、前記低速デバイスへのアクセスかを判定すると好ましい。
【0016】更には、前記パイプライン動作は、アービトレーションステージを更に有すると好ましい。
【0017】
【発明の実施の形態】以下、本発明の実施例について、図面を用いて詳細に説明する。
【0018】システム構成図1は、本発明の実施例によるパイプライン制御バスを用いたマイクロコンピュータシステムの1構成例を示したものである。
【0019】バスマスタバスマスタ101および102は、マイクロコンピュータなどのプロセッサやDMAC(Direct Memory Access Controller)のように、システム内のメモリやその他の周辺機能ユニットに対してデータの読み出しや書き込みを行なうモジュールである。このバスマスタ101、102は、システム内のメモリ115、125やその他の周辺機能ユニット126、127に対してデータの読み出しや書き込みを行なう際に、大きくアドレスバス113、123とデータバス114、124に分類することのできるバスを介してデータの授受を行なう。
【0020】階層バスバスは、バスマスタ101、102がアクセスすることが可能な各モジュールに接続されており、アドレスバス、データバス共に、113、114と123と124の大きく2つの階層に分かれている。これは、一つには、アクセスタイムやアクセス頻度の違う複数のモジュールを効率的にアクセスするためであり、もう一つには、バスインタフェースに拘る全体のパイプライン制御を階層化して簡単化するためである。
【0021】第1階層のアドレスバス 113をIAB(Internal Address Bus)、第1階層のデータバス114をIDB(Internal Data Bus)と呼ぶ。
【0022】高速メモリチップ内のバスマスタ101、102は、第1階層のアドレスバス113と第1階層のデータバス114を直接駆動することによって、第1階層のバスに接続された内部高速メモリ115を高速に連続アクセスすることができる。または、離散的なメモリアクセスの場合は、多くの場合、ディレイド・ロードによる命令実行方式によって、プログラム全体として高い実行性能を維持することが可能である。ここでディレイド・ロードとは、バスマスタがメモリ等の記憶装置からデータを読み出す際に、所望のデータがバスマスタ内に読み込まれるまでの間隙を利用して、該データに影響を及ぼさない命令等を実行することをいう。
【0023】バスマスタ101、又は102がIABとIDBを介して内部高速メモリ115に対してデータを読み出したり書き込んだりするメモリアクセス動作はパイプライン実行されており、このメモリアクセスのパイプライン実行は第1階層のバスコントローラ111で制御されている。
【0024】第1階層のバスコントローラ第1階層のバスコントローラ111がメモリアクセスに伴うバスサイクルを直接に制御する範囲は、図1に示した回路ブロック110であって、この回路ブロック110は第1階層のバスIAB、IDBによって直接に接続されている範囲である。尚、メモリアクセスのパイプライン実行の詳細については、図2以降を用いて別途説明する。
【0025】ここで、メモリアクセスを起動するのはそのアクセス動作の主体であるバスマスタ101、102であり、第1階層のバスコントローラ111はそのメモリアクセスの起動信号を受けて、バスマスタが複数ある場合にはどのバスマスタにメモリアクセスを行なう為のバス権を許可するかを決定して、IAB、IDBのデータ転送に関する動作タイミングを制御する。従って、バスマスタはメモリアクセスを起動した後、バスコントローラから次の動作を指示されるまで別の処理を実行することも可能である。又、メモリアクセス自身がパイプライン実行され、しかもその実行制御はバスマスタではなく、バスコントローラが行なっていることから、バスマスタのパイプライン構成が必ずしもメモリアクセス自身のパイプライン構成に完全に一致している必要がない。
【0026】第1階層のバスバッファ更に、第1階層のバスIAB、IDBは、第1階層のバスバッファ112を介して、第2階層のバス手段であるPAB(Peripheral Address Bus)123、PDB(Peripheral Data Bus)124に接続されている。ここで、PABは第2階層のアドレスバス123で、PDBは第2階層のデータバス124である。第1階層のバスバッファ112はIAB113からPAB123へ一方向にアドレスを転送し、IDB114とPDB124との間で双方向にデータを転送することが可能である。
【0027】第2階層のバスコントローラバスマスタからアクセス要求が、第1階層のバスで実行しているパイプライン動作を遅滞させるものである時は、第1階層のバスコントローラ111はそのアクセスの実行制御を第2階層のバスコントローラ121に移す。第1階層のバッファ手段112は、このときに時間的なずれを伴うアドレスやデータの受渡しをを行なう。すなわち、第2階層のバス123、及び124は、アクセス速度の遅い低速メモリ125や、アクセス頻度が低かったり、あまりアクセス速度の要求されない周辺機能モジュール126、及び127、更に下位階層のバス手段に接続するための第2階層のバスバッファ手段122等に接続されており、そのアクセス動作は第2階層のバスコントローラ121が制御している。
【0028】このように第2階層のバスコントローラ121がそのメモリアクセス動作を制御する範囲は回路ブロック120であって、回路ブロック120はバス手段PABとPDBによって直接に接続されている範囲である。すなわち、第1階層のバスコントローラからの情報で、第2階層のバス手段PABとPDB、及び該バス手段に接続されているメモリや周辺機能モジュールを、ある一定の範囲で第1階層の実行制御とは別個に制御することができる。
【0029】バス動作の制御従って、バスマスタ101、102のアクセス要求は、まず第1バスコントローラに供給され、このアクセス要求の対象が高速の回路ブロック110の範囲か、低速の回路ブロック120の範囲か、または更に下位層で更に低速のブロックなのかが、第1階層のバスコントローラ111と第2階層のバスコントローラ121とによって判定される。すなわち、バスマスタ101、102からのアクセス要求にアクセス対象を識別する情報を含ませることによって、この識別情報からコントローラ111、121は上記の判定を行うこともできる。また、アドレスバス上のバスマスタ101、102からのアクセスアドレスをバスコントローラ111、121が監視し、アクセス要求の対象が高速の回路ブロックの範囲か、低速の回路ブロックか、更に低速の回路ブロックかの判定を行うことができる。アクセス要求の対象が高速の回路ブロック110の範囲である場合は、バスバッファ112、122は非動作状態とされ、バスマスタと内部高速メモリ115との間のデータ転送は第1階層のバス113、114を介して実行される。アクセス要求の対象が低速の回路ブロック120の範囲である場合は、バスバッファ112は動作状態、バスバッファ122は非動作状態とされ、バスマスタと低速メモリ125または周辺機能ユニット126、127との間のデータ転送は第1階層のバス113、114、バスバッファ112、第2階層のバス123、124を介して実行される。アクセス要求の対象が更に低速の回路ブロックの範囲である場合は、バスバッファ112、122は動作状態とされ、バスマスタと更に低速の回路との間のデータ転送は第1階層のバス113、114、バスバッファ112、第2階層のバス123、124、バスバッファ122、更に下位階層のバスを介して実行される。
【0030】また更に、図1のシステム構成例において、バスマスタが1つの場合でも本発明の効果は有効であり、バスの階層が第1階層のみの場合でも、又、各階層がそれぞれ複数組存在しても、バスバッファを複数個並列に備えて各バス階層を構築した場合においても本発明の効果は有効である。
【0031】メモリアクセスのパイプラインの構成次に、図2以降を用いて、メモリアクセスのパイプライン実行、及びそのパイプライン実行の制御方式に関して、詳細に説明する。
【0032】まず、図2を参照しながら、メモリアクセス処理の内容を、リードアクセスの場合について順を追って分析する。
【0033】メモリアクセスを行なうバスマスタ101が、アクセスに必要なアドレスを計算する。このとき、通常の一般的なプロセッサであれば、あるレジスタ201からアドレスの元となる値を読み出して、演算器(AU)202で所望のアドレス演算を行なった後、アドレスバッファ203に格納する。アドレスバッファ203に格納されたアドレスは、適当なタイミングでアドレスバス113に出力され、アクセスされる側のメモリ115に対しては通常、アクセス種類を示すリード/ライト信号が与えられる。
【0034】メモリ115側では、アドレスバス113を通じてアドレスを受け取った後、そのアドレスをアドレスデコーダ204でデコードする。そして、そのデコード情報をもって必要なメモリ要素を選択し、センスアンプを介して読み出す処理205を経て、メモリ側のデータバッファ206によって読み出したデータをデータバス114に出力する。
【0035】アクセス元のバスマスタ101は、データバス114に乗ったリードデータをバスマスタ側のデータバッファ207に取り込み、更に、所望のレジスタ208に格納する。
【0036】以上の処理内容のうち、時間的なウェイトが比較的大きいのは、バスマスタ内のアドレス演算と、メモリ内にアドレスが取り込まれて以降、メモリ要素の選択からデータ読み出しまでの2箇所である。従って一般に、この2箇所については特に回路的に工夫され、最適化が図られているといってよい。
【0037】一方、バスマスタとメモリ及び周辺モジュールを接続するアドレスバスやデータバスそのものの遅延も、モジュールの性能が向上した分、相対的に無視できなくなってきている。モジュール毎に最適化設計をしてそれぞれが高速に動作しても、インタフェース部で整合がとれていないと、スピード的に不必要なマージン設計をせざるを得なくなり、全体としての性能を劣化させることになる。
【0038】本実施例においては、バスマスタ内のアドレス演算からデータの取り込みまでを通して、全体としてバランスのとれたパイプライン動作を実現することに主眼を置いている。図2では、2相ノンオーバラップクロックφ1,φ2をシステムクロックとして用いた場合の、パイプライン・ステージ割り付けの1例を示した。
【0039】すなわち、レジスタ201からφ1タイミングでデータを読み出して演算器(AU)202に送り、演算済のアドレスをφ2タイミングでアドレスバッファ203に格納すると共にアドレスバス113に出力する。このアドレスを、次はφ1タイミングによってメモリ115のアドレスデコーダ204の前後で一旦ラッチし、読み出したデータをφ2タイミングでデータバッファ206に格納すると共にデータバス114に出力する。更に、データバス114に乗ったリードデータをφ1タイミングでバスマスタ側のデータバッファ207に取り込み、更に、所望のレジスタ208にφ2タイミングで格納する。
【0040】このようにアクセスされる高速メモリ115にパイプラインステージが割り付けられており、メモリのアクセスタイムは、φ1の立ち上がりからφ2の立ち下がりまでの期間におさまればよいことになる。しかもこの場合のアクセスタイムは、アドレスデコードやバス駆動を除いた、純粋にメモリ要素の選択からデータの読みだしまでの期間であることから、従来に比べてより高速な動作が可能になる。
【0041】すなわち本実施例によるパイプライン制御バスのシステムでは、アドレスバス113やデータバス114及びそのインタフェース回路による遅延を、見かけ上キャンセルしたように動作させることができる。このようにすることで、バス帯域は向上するが、その分、バスマスタ自身のパイプラインに加えてメモリアクセスまで含めた全体のパイプライン段数が増加しているために、統一的に制御するには制御条件の組み合せの数が増大してパイプライン制御が複雑になることが考えられる。また、周辺モジュールには、アクセス頻度の低いものや、連続アクセスの必要のないものなどが少なからず存在し、バスの適切なマネージメントが難しくなる恐れがある。
【0042】これらの問題に対して、本実施例では、図1で説明したようにバス手段を階層化して、バスマスタは最も速い最上位バスのインタフェースだけに対応し、階層が下る毎にバスコントローラを配置して、バスマスタがスピードの遅い下位階層のバスを直接制御することのないようにした。
【0043】メモリアクセスのパイプラインの動作それでは次に、動作タイミングチャート図3を用いて、更にメモリアクセス時の実際のパイプライン動作について説明を加える。
【0044】図1の第1階層のバス手段で接続されている範囲110内のアクセスは、図3に示すように、4段のパイプラインステージで動作させることとする。すなわち、バスアービトレーションステージ301と、アドレス出力ステージ302、ライトデータステージ303、リードデータステージ304の4段である。今、この4段のパイプラインが、待ち時間なく全て1サイクルずつ動作している場合を考える。
【0045】バスアービトレーションステージ301では、バスマスタからφ2タイミングで出力されたバスリクエスト信号BUSREQに対して、そのバスマスタにバス権を渡してよいかどうかを判定し、バスアクノリッジ信号BUSACKを返すことによってバス権の管理を行なう。
【0046】このバスアービトレーションでバス権が許されると、その次のサイクルのφ2タイミングからアドレスバスIABにアドレスを出力することができる。これが、アドレス出力ステージ302である。
【0047】更にその次のサイクルでは、ライトアクセスの場合、その前のサイクルでアドレスバスIABに出力されたアドレスに対する書き込みデータを、φ2タイミングからデータバスIDBに出力する。これがライトデータステージ303で、リードアクセスの場合は、同じタイミングでアクセスされた側のモジュールからリードデータが出力される。
【0048】リードアクセスの場合は、更にその次のサイクルのリードデータステージ304で、データバスIDBに出力されたリードデータをφ1タイミングでバスマスタ内に取り込む。又、ライトアクセスの場合には、同じリードデータステージ304で、バスマスタからデータバスIDBに出力されたライトデータを、φ1タイミングでアクセスされた側のデータバッファに取り込む。
【0049】本パイプライン制御バス方式では、バスマスタが直接アクセスする第1階層のバス手段で接続されている範囲110内のメモリアクセスが以上で説明した4段のパイプラインで動作することにより、メモリ等の連続アクセス帯域を2〜3倍に引き上げることができる。特に、バスアービトレーションをパイプライン処理することにより、バスマスタ間のバス権の授受に要する時間が、事実上見えなくなっている。従って、頻繁にバス権の移動が発生するようなシステムにおいては、従来に比べてバスの使用効率を向上することが可能となる。ここで、システム内のバスマスタが1つの場合は、以上で説明したパイプラインステージのうちバスアービトレーションステージを削除することも可能である。
【0050】パイプライン動作の制御次に、図4を用いて上記で述べたパイプライン動作の制御の1例について説明する。
【0051】図4に示したパイプライン動作制御例は、4段のパイプラインを全て同時に進めるか止めるかの制御であり、これを制御するためには1本のBUSRDY信号で充分である。BUSRDY信号は、毎ステートφ2タイミングで出力され、次のステートでバスのパイプラインを進めるかどうかを決定している。
【0052】このBUSRDY信号は、データサイズやアクセスサイクル数等のメモリアクセス空間に関する情報と、アクセス状態、及びアクセス対象の種類に関する情報とから生成される。BUSRDY信号はバスコントローラで生成され、各バスマスタに出力される。各バスマスタは、自分がアクセス途中のバスサイクルがある場合に、BUSRDY信号がアサートされると、その時点のバスパイプラインが1段だけ進んだことがわかる。
【0053】次に、パイプライン動作上のバス権の取り扱いについて説明する。
【0054】本実施例でのバス権の受渡しは、パイプラインの最初の1ステージで行なわれる。従って、バスマスタから出力したバス権要求信号BUSREQは、1サイクル期間しか有効ではない。すなわちバスコントローラにおいては、毎サイクル、その時点のバス権要求信号BUSREQに対してバスアクノリッジ信号BUSACKが生成され、このBUSACK信号がアサートされたバスマスタには、その次のサイクルから1アクセス分のバス・パイプラインを使用する権利が付与される。しかし、上記BUSRDY信号がアサートされない限りパイプラインを進めることができないことから、バスアクノリッジ信号BUSACKとBUSRDY信号が同時にアサートされないと、事実上、バス権が付与されたことにはならない。このようにして一旦バス権が付与されると、後はBUSRDY信号に従って順にパイプラインを実行していくことになる。
【0055】図4に示した基本クロックのサイクル401では、アクセス1というバスサイクルを実行するためのバスアービトレーションステージBATが実行されて、アクセス1に対してバス権が付与されたため、次のサイクル402ではアクセス1のバスサイクルを実行するためのアドレス出力ステージADDが実行される。
【0056】しかし、サイクル402ではBUSRDY信号がネゲートされているため、アクセス1のバスサイクルに関するパイプライン動作は、次のサイクル403でもアドレス出力ステージのままで次のパイプライン動作に移ることができない。
【0057】一方、同じサイクル402で、アクセス2というバスサイクルを実行するためのバスアービトレーションステージBATが実行されているが、BUSRDY信号がネゲートされているため、そのバスアービトレーションBATは無効になって、新たにサイクル403でバスアービトレーションBATをやり直すことになる。
【0058】サイクル403、404ではBUSRDY信号がアサートされており、続くサイクル404、405で、アクセス1のバスサイクルはデータバスを使用してデータの転送を行ない、アクセス2のバスサイクルはアドレス転送を行なった後データバスを使用し、更にサイクル404ではアクセス3がバス権を獲得し、サイクル405からアクセス4がバスアービトレーションステージBATの実行を開始する。
【0059】サイクル405では再びBUSRDY信号がネゲートされ、続くサイクル406ではアクセス2とアクセス3のバスパイプラインがウェイト状態におかれ、アクセス4はバス権を獲得する。
【0060】以上のように、本実施例においては、同時に最大3つのアクセス・バスサイクルがパイプライン実行されることになる。又、本方式ではバスアービトレーションも1つのパイプラインステージに割り当てていることから、このアクセスは1つのバスマスタから実行されても、それぞれ別の3つのバスマスタから実行されても構わない。従って本方式においては、バスアービトレーションを別にして、最大3つまでのバスマスタが同時にバスリソースを使用して、それぞれのアクセス処理をパイプライン実行することが可能である。
【0061】更に本発明によるバス構成においては、上記で説明したパイプライン制御バスの下に、それぞれ専用のバスコントローラで制御される下位のバスを階層的に構成することができ、接続する周辺モジュールに合わせてバスインタフェースを自由に構築することが可能である。
【0062】階層構造バスのパイプライン動作制御それでは次に、図5を用いて階層構造バスのパイプライン動作制御の1例について説明する。
【0063】図5において、IABとIDBは図1で説明した第1階層のバスで、第1階層のアドレスバス113と第1階層のデータバス114に対応しており、PABとPDBは図1で説明した第2階層のバスで、第2階層のアドレスバス123と第2階層のデータバス124に対応している。
【0064】図5では、バスを用いるアクセスサイクルとして531〜536の6つのアクセス動作を仮定し、アクセス動作531と535が第2階層のバスを用いるリードサイクル、アクセス動作534が第2階層のバスを用いるライトサイクル、アクセス動作532と536が第1階層のバスを用いるライトサイクル、アクセス動作533が第1階層のバスを用いるリードサイクルとしている。又、アクセス動作531〜536のそれぞれに対応する見かけ上のバスサイクルが、基本クロックのサイクル期間521〜526である。
【0065】バスのパイプライン動作を制御している信号がBUSRDY信号で、このBUSRDY信号によるパイプライン動作制御については図4で説明したとおりである。
【0066】図5では、第2階層のバスを介して実行されるメモリサイクルを3サイクルとして、第1階層のバスで実行されているパイプライン動作とのインタフェースの1例を示している。
【0067】アクセス動作531によるパイプラインのウェイト制御が基本クロックサイクル503、504でネゲートされているBUSRDY信号に対応し、アクセス動作534によるパイプラインのウェイト制御が基本クロックサイクル508、509でネゲートされているBUSRDY信号に対応し、アクセス動作535によるパイプラインのウェイト制御が基本クロックサイクル511、512でネゲートされているBUSRDY信号に対応している。
【0068】すなわち、低速の第2階層のバスを用いるリードサイクルである第1アクセス動作531でのウェイト制御では、第1階層のバスバッファ112はIAB上のアドレスをPABに転送するとともに基本クロックの3サイクルの間に保持するとともにIDBとPDBとの間で双方向データ転送が可能であるので、この間に第2階層のバスに接続されたデバイスからデータが読み出され、第2階層のバス、第1階層のバスバッファ、第1階層のバスを介してバスマスタに読み込まれる。
【0069】高速の第1階層のバスを用いるライトサイクルである第2アクセス動作532では、第1アクセス動作531での2サイクルのウェイトの影響を受けて、アドレス出力スデージADDが2サイクル延長されるが、ウェイト終了後、基本クロックの1サイクルの間に書き込み動作が完了する。
【0070】高速の第1階層のバスを用いるリードサイクルである第3アクセス動作533では、第1アクセス動作531での2サイクルのウェイトの影響を受けて、バスアービトレーションBATが2サイクル延長されるが、ウェイト終了後、基本クロックの2サイクルの間に読み出しが完了する。
【0071】低速の第2階層のバスを用いるライトサイクルである第4アクセス動作534でのウェイト制御では、第1階層のバスバッファ112はIAB上のアドレスをPABに転送するとともに基本クロックの3サイクルの間に保持するとともにIDBとPDBとの間で双方向データ転送が可能であるので、この間にバスマスタから第2階層のバスに接続されたデバイスへ、第1階層のバス、第1階層のバスバッファ、第2階層のバスを介して、データが転送され、デバイスがメモリで有る場合はそこに読み込まれる。
【0072】以上、本発明の実施例を詳細に説明したが、本発明はこの実施例に限定されるものではなく、その技術思想の範囲内で種々の変形が可能であることは言うまでもない。
【0073】例えば、内部高速メモリ115としてSRAMを用い、低速メモリ125としてDRAM、EPROMその他を使用できることは言うまでもない。
【0074】また本実施例では、低速の第2階層バスをアクセスするためのウェイトサイクル数は2であったが、このサイクル数を第2階層バスのデバイスの速度に合わせて変化させても同様の効果が得られることは明らかである。
【0075】本発明は、マイクロコンピュータ等のプロセッサをチップ上に内蔵するとともに、顧客の目標性能を最大に発揮するために、高速メモリ、低速メモリ、周辺機能ユニット等とを最適に設計するASIC(Application Specific IC)に採用されるのに特に好適である。
【0076】以上、本願発明について説明してきたが、本願発明を適用することにより以下の効果を得ることができる。
【0077】まずアクセスを高速にパイプライン実行する第1階層のバスによって、バスの動作速度、並びにそのバスによってアクセスされるメモリや周辺機能ユニットの動作速度が実効的に高速化されることで、データの読み出し又は書き込みのアクセス時間でシステム全体の性能が律速されるという前記第1の問題を解決することができる。
【0078】更に、第1階層のバスによるメモリアクセスのパイプライン実行を、専用の第1階層のバスコントローラで制御することによって、アクセスの主体であるバスマスタは、第1階層のバスコントローラに対してメモリアクセス動作を起動するバス命令と第1階層のバスコントローラからの制御信号に従ってアドレスの出力とデータの入出力を実行する手段とを備えるだけでよい。すなわち、マイクロコンピュータ等のバスマスタ内部のパイプライン動作制御と、メモリアクセスのパイプライン動作制御を分離することにより、バスマスタ自身は簡単なインタフェースを実現するだけでよく、特に、メモリアクセス動作をパイプライン実行した場合に、バスマスタ内部のパイプライン実行状態との種々の組み合せで発生する制御条件の場合の数を減らすことができる。このことは、全体として、メモリアクセスを実行するための制御論理規模を削減することができ、論理規模が増大するという前記第2の問題を解決することができる。
【0079】更に、アクセスされるデバイスの動作スピードに従ってそのアクセス動作を実行するバスを階層化して、しかも各階層のバスをそれぞれある一定の範囲で独立に制御することが可能なバスコントローラを設けることによって、第1階層のバスコントローラとバスマスタとの間でメモリアクセスの動作制御を分離した場合と同様の効果を得ることができる。
【0080】本発明によるバスインタフェースに対応したマイクロコンピュータ等のバスマスタモジュールを使用して、別のシステムを構築する際には、バスマスタモジュールのバスインタフェース回路を変更することなく、第1階層のバスコントローラ、若しくは更に下位階層のバスコントローラの機能仕様を変更するだけで対応することが可能となり、別のシステムを構築する際に、そのシステムのバスインタフェース仕様が限定されてしまうという前記第3の問題を解決することができる。
【0081】更に、マイクロコンピュータ等のバスマスタ内部のパイプライン動作制御と、メモリアクセスの動作制御を分離することによる別の効果として、バスマスタが複数個存在するシステムにおいて、バスマスタ毎に同様の機能を果たす複雑なバスインタフェースを備える必要がなく、それぞれのバスマスタは簡単なバスインタフェースを備えるだけで、メモリアクセス実行を制御するバスコントローラは全体で1つ備えればよく、全てのメモリアクセス機能を備えた外部インタフェース回路をバスマスタの数だけ設ける必要があるという前記第4の問題を解決することができる。又、このことは、それぞれのバスマスタの内部パイプライン動作の仕様が異なる場合でも、前記したような簡単なバスインタフェース手段さえ備えておれば、本発明によるところの高速に動作する前記第1階層のバス手段に接続することが可能であるということを意味する。
【0082】以上によって、バス並びにそのバスに接続されているメモリや周辺機能ユニットの実効的な動作速度を上げると共に、バスマスタ側のバスインタフェースを簡単化し、なおかつそのバスに接続されているメモリや周辺機能ユニットの側のインタフェース仕様を、バスマスタ側のインタフェース回路を変更することなく容易に変更することのできるバスの動作方式、及び該バスと該バスに接続されるメモリや周辺機能ユニットの動作制御方式、及び該バスの動作方式に合わせて動作することが可能なマイクロコンピュータ、及びそれらのユニットで構成されるシステムを提供することが可能となる。
【0083】
【発明の効果】本発明によれば、高速動作可能なマイクロコンピュータシステムを提供することが可能となる。




 

 


     NEWS
会社検索順位 特許の出願数の順位が発表

URL変更
平成6年
平成7年
平成8年
平成9年
平成10年
平成11年
平成12年
平成13年


 
   お問い合わせ info@patentjp.com patentjp.com   Copyright 2007-2013