JP2003330907A - マイクロコンピュータシステム - Google Patents

マイクロコンピュータシステム

Info

Publication number
JP2003330907A
JP2003330907A JP2003113567A JP2003113567A JP2003330907A JP 2003330907 A JP2003330907 A JP 2003330907A JP 2003113567 A JP2003113567 A JP 2003113567A JP 2003113567 A JP2003113567 A JP 2003113567A JP 2003330907 A JP2003330907 A JP 2003330907A
Authority
JP
Japan
Prior art keywords
bus
address
access
data
pipeline
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.)
Pending
Application number
JP2003113567A
Other languages
English (en)
Inventor
Shigeki Masumura
茂樹 増村
Hideo Nakamura
英夫 中村
Yoshiki Noguchi
孝樹 野口
Shunpei Kawasaki
俊平 河崎
Kaoru Fukada
馨 深田
Yasushi Akao
泰 赤尾
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.)
Hitachi Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Hitachi Ltd
Hitachi ULSI Systems 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 Hitachi Ltd, Hitachi ULSI Systems Co Ltd filed Critical Hitachi Ltd
Priority to JP2003113567A priority Critical patent/JP2003330907A/ja
Publication of JP2003330907A publication Critical patent/JP2003330907A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Microcomputers (AREA)
  • Information Transfer Systems (AREA)

Abstract

(57)【要約】 【課題】 マイクロコンピュータシステムで、バス並び
にそのバスに接続されたメモリや周辺機能ユニットの実
効的な動作速度を上げ、バスインタフェース仕様を容易
に変更できるバスの動作方式を提供する。 【解決手段】 バスマスタ101、102が接続された
バス113、114を介するアクセス動作をパイプライ
ン実行し、パイプライン実行の制御を専用のバスコント
ローラ111で行なう。更に該パイプライン動作を遅滞
させるアクセスは、バッファ手段112で接続される下
位階層のバス123、124と下位階層専用のバスコン
トローラ121で実行する。 【効果】 アクセスのバス帯域が向上し、種々の仕様の
バスインタフェースや並列実行可能なバスを、容易に構
築することが可能となる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バスマスタと、メ
モリや周辺機能ユニットと、これらのユニットに接続さ
れデータ転送を行うバスとを有するマイクロコンピュー
タシステムに関する。
【0002】
【従来の技術】バスマスタであるマイクロコンピュータ
等のプロセッサと、メモリや周辺機能ユニットと、バス
とから構成されたマイクロコンピュータシステムにおい
ては、それぞれのユニット間でのデータの授受を行なう
必要が有る。
【0003】一方、マイクロコンピュータ等の論理回路
を高速に動作させるためには、動作周波数を上げて全体
として高速に動作させる第1の方法と、パイプライン処
理によって実効的に高速動作を実現する第2の方法があ
る。
【0004】第1の方法によると、デバイス的な限界が
あり、又、一般的に高価なシステムになってしまうこと
が多い。そこで、通常は、第1の方法と第2の方法を、
コストと性能の両面から見て釣り合いのとれる範囲で併
用している。
【0005】一方、マイクロコンピュータの方式として
は、高機能な命令を豊富に備えるCISC(Complex Ins
truction Set Computer)方式と、簡単な命令を高速に実
行するRISC(Reduced Instruction Set Computer)方
式とが知られている。
【0006】RISC方式によるマイクロコンピュータ
では、多くの命令がパイプライン実行によって1クロッ
クサイクルで高速に実行されることになる。
【0007】
【発明が解決しようとする課題】しかしRISC方式に
よるマイクロコンピュータでは、命令フェッチやデータ
フェッチの頻度が高く、メモリや周辺機能ユニットとデ
ータの授受を行なうバス手段の動作帯域が、システム全
体の性能に大きく影響することになる。従って、RIS
C方式によるマイクロコンピュータを用いたシステムに
おいては、高速なバス転送が必要となり、高速に動作す
るメモリや周辺機能ユニットが不可欠であった。しか
し、実際には、そのバスに接続される全てのメモリや周
辺機能ユニットが、そのシステムのバスマスタであるマ
イクロコンピュータと同じ速度で動作できるとは限らな
い。なぜなら、特に高速化を図ったマイクロコンピュー
タでは内部動作がパイプライン化されており、その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に対してデータの読
み出しや書き込みを行なう際に、大きくアドレスバス1
13、123とデータバス114、124に分類するこ
とのできるバスを介してデータの授受を行なう。
【0020】階層バス バスは、バスマスタ101、102がアクセスすること
が可能な各モジュールに接続されており、アドレスバ
ス、データバス共に、113、114と123と124
の大きく2つの階層に分かれている。これは、一つに
は、アクセスタイムやアクセス頻度の違う複数のモジュ
ールを効率的にアクセスするためであり、もう一つに
は、バスインタフェースに拘る全体のパイプライン制御
を階層化して簡単化するためである。
【0021】第1階層のアドレスバス 113をIAB
(Internal Address Bus)、第1階層のデータバス11
4を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であって、この回路ブロック11
0は第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(Pe
ripheral 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階層のバスコントローラ1
21がそのメモリアクセス動作を制御する範囲は回路ブ
ロック120であって、回路ブロック120はバス手段
PABとPDBによって直接に接続されている範囲であ
る。すなわち、第1階層のバスコントローラからの情報
で、第2階層のバス手段PABとPDB、及び該バス手
段に接続されているメモリや周辺機能モジュールを、あ
る一定の範囲で第1階層の実行制御とは別個に制御する
ことができる。
【0029】バス動作の制御 従って、バスマスタ101、102のアクセス要求は、
まず第1バスコントローラに供給され、このアクセス要
求の対象が高速の回路ブロック110の範囲か、低速の
回路ブロック120の範囲か、または更に下位層で更に
低速のブロックなのかが、第1階層のバスコントローラ
111と第2階層のバスコントローラ121とによって
判定される。すなわち、バスマスタ101、102から
のアクセス要求にアクセス対象を識別する情報を含ませ
ることによって、この識別情報からコントローラ11
1、121は上記の判定を行うこともできる。また、ア
ドレスバス上のバスマスタ101、102からのアクセ
スアドレスをバスコントローラ111、121が監視
し、アクセス要求の対象が高速の回路ブロックの範囲
か、低速の回路ブロックか、更に低速の回路ブロックか
の判定を行うことができる。アクセス要求の対象が高速
の回路ブロック110の範囲である場合は、バスバッフ
ァ112、122は非動作状態とされ、バスマスタと内
部高速メモリ115との間のデータ転送は第1階層のバ
ス113、114を介して実行される。アクセス要求の
対象が低速の回路ブロック120の範囲である場合は、
バスバッファ112は動作状態、バスバッファ122は
非動作状態とされ、バスマスタと低速メモリ125また
は周辺機能ユニット126、127との間のデータ転送
は第1階層のバス113、114、バスバッファ11
2、第2階層のバス123、124を介して実行され
る。アクセス要求の対象が更に低速の回路ブロックの範
囲である場合は、バスバッファ112、122は動作状
態とされ、バスマスタと更に低速の回路との間のデータ
転送は第1階層のバス113、114、バスバッファ1
12、第2階層のバス123、124、バスバッファ1
22、更に下位階層のバスを介して実行される。
【0030】また更に、図1のシステム構成例におい
て、バスマスタが1つの場合でも本発明の効果は有効で
あり、バスの階層が第1階層のみの場合でも、又、各階
層がそれぞれ複数組存在しても、バスバッファを複数個
並列に備えて各バス階層を構築した場合においても本発
明の効果は有効である。
【0031】メモリアクセスのパイプラインの構成 次に、図2以降を用いて、メモリアクセスのパイプライ
ン実行、及びそのパイプライン実行の制御方式に関し
て、詳細に説明する。
【0032】まず、図2を参照しながら、メモリアクセ
ス処理の内容を、リードアクセスの場合について順を追
って分析する。
【0033】メモリアクセスを行なうバスマスタ101
が、アクセスに必要なアドレスを計算する。このとき、
通常の一般的なプロセッサであれば、あるレジスタ20
1からアドレスの元となる値を読み出して、演算器(A
U)202で所望のアドレス演算を行なった後、アドレ
スバッファ203に格納する。アドレスバッファ203
に格納されたアドレスは、適当なタイミングでアドレス
バス113に出力され、アクセスされる側のメモリ11
5に対しては通常、アクセス種類を示すリード/ライト
信号が与えられる。
【0034】メモリ115側では、アドレスバス113
を通じてアドレスを受け取った後、そのアドレスをアド
レスデコーダ204でデコードする。そして、そのデコ
ード情報をもって必要なメモリ要素を選択し、センスア
ンプを介して読み出す処理205を経て、メモリ側のデ
ータバッファ206によって読み出したデータをデータ
バス114に出力する。
【0035】アクセス元のバスマスタ101は、データ
バス114に乗ったリードデータをバスマスタ側のデー
タバッファ207に取り込み、更に、所望のレジスタ2
08に格納する。
【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】このようにアクセスされる高速メモリ11
5にパイプラインステージが割り付けられており、メモ
リのアクセスタイムは、φ1の立ち上がりからφ2の立
ち下がりまでの期間におさまればよいことになる。しか
もこの場合のアクセスタイムは、アドレスデコードやバ
ス駆動を除いた、純粋にメモリ要素の選択からデータの
読みだしまでの期間であることから、従来に比べてより
高速な動作が可能になる。
【0041】すなわち本実施例によるパイプライン制御
バスのシステムでは、アドレスバス113やデータバス
114及びそのインタフェース回路による遅延を、見か
け上キャンセルしたように動作させることができる。こ
のようにすることで、バス帯域は向上するが、その分、
バスマスタ自身のパイプラインに加えてメモリアクセス
まで含めた全体のパイプライン段数が増加しているため
に、統一的に制御するには制御条件の組み合せの数が増
大してパイプライン制御が複雑になることが考えられ
る。また、周辺モジュールには、アクセス頻度の低いも
のや、連続アクセスの必要のないものなどが少なからず
存在し、バスの適切なマネージメントが難しくなる恐れ
がある。
【0042】これらの問題に対して、本実施例では、図
1で説明したようにバス手段を階層化して、バスマスタ
は最も速い最上位バスのインタフェースだけに対応し、
階層が下る毎にバスコントローラを配置して、バスマス
タがスピードの遅い下位階層のバスを直接制御すること
のないようにした。
【0043】メモリアクセスのパイプラインの動作 それでは次に、動作タイミングチャート図3を用いて、
更にメモリアクセス時の実際のパイプライン動作につい
て説明を加える。
【0044】図1の第1階層のバス手段で接続されてい
る範囲110内のアクセスは、図3に示すように、4段
のパイプラインステージで動作させることとする。すな
わち、バスアービトレーションステージ301と、アド
レス出力ステージ302、ライトデータステージ30
3、リードデータステージ304の4段である。今、こ
の4段のパイプラインが、待ち時間なく全て1サイクル
ずつ動作している場合を考える。
【0045】バスアービトレーションステージ301で
は、バスマスタからφ2タイミングで出力されたバスリ
クエスト信号BUSREQに対して、そのバスマスタに
バス権を渡してよいかどうかを判定し、バスアクノリッ
ジ信号BUSACKを返すことによってバス権の管理を
行なう。
【0046】このバスアービトレーションでバス権が許
されると、その次のサイクルのφ2タイミングからアド
レスバスIABにアドレスを出力することができる。こ
れが、アドレス出力ステージ302である。
【0047】更にその次のサイクルでは、ライトアクセ
スの場合、その前のサイクルでアドレスバスIABに出
力されたアドレスに対する書き込みデータを、φ2タイ
ミングからデータバスIDBに出力する。これがライト
データステージ303で、リードアクセスの場合は、同
じタイミングでアクセスされた側のモジュールからリー
ドデータが出力される。
【0048】リードアクセスの場合は、更にその次のサ
イクルのリードデータステージ304で、データバスI
DBに出力されたリードデータをφ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に対してバスアクノリッジ信号BUSAC
Kが生成され、このBUSACK信号がアサートされた
バスマスタには、その次のサイクルから1アクセス分の
バス・パイプラインを使用する権利が付与される。しか
し、上記BUSRDY信号がアサートされない限りパイ
プラインを進めることができないことから、バスアクノ
リッジ信号BUSACKとBUSRDY信号が同時にア
サートされないと、事実上、バス権が付与されたことに
はならない。このようにして一旦バス権が付与される
と、後はBUSRDY信号に従って順にパイプラインを
実行していくことになる。
【0055】図4に示した基本クロックのサイクル40
1では、アクセス1というバスサイクルを実行するため
のバスアービトレーションステージBATが実行され
て、アクセス1に対してバス権が付与されたため、次の
サイクル402ではアクセス1のバスサイクルを実行す
るためのアドレス出力ステージADDが実行される。
【0056】しかし、サイクル402ではBUSRDY
信号がネゲートされているため、アクセス1のバスサイ
クルに関するパイプライン動作は、次のサイクル403
でもアドレス出力ステージのままで次のパイプライン動
作に移ることができない。
【0057】一方、同じサイクル402で、アクセス2
というバスサイクルを実行するためのバスアービトレー
ションステージBATが実行されているが、BUSRD
Y信号がネゲートされているため、そのバスアービトレ
ーションBATは無効になって、新たにサイクル403
でバスアービトレーションBATをやり直すことにな
る。
【0058】サイクル403、404ではBUSRDY
信号がアサートされており、続くサイクル404、40
5で、アクセス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階層のアドレスバス11
3と第1階層のデータバス114に対応しており、PA
Bと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による
パイプラインのウェイト制御が基本クロックサイクル5
11、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としてSR
AMを用い、低速メモリ125としてDRAM、EPR
OMその他を使用できることは言うまでもない。
【0074】また本実施例では、低速の第2階層バスを
アクセスするためのウェイトサイクル数は2であった
が、このサイクル数を第2階層バスのデバイスの速度に
合わせて変化させても同様の効果が得られることは明ら
かである。
【0075】本発明は、マイクロコンピュータ等のプロ
セッサをチップ上に内蔵するとともに、顧客の目標性能
を最大に発揮するために、高速メモリ、低速メモリ、周
辺機能ユニット等とを最適に設計するASIC(Applica
tion Specific IC)に採用されるのに特に好適である。
【0076】以上、本願発明について説明してきたが、
本願発明を適用することにより以下の効果を得ることが
できる。
【0077】まずアクセスを高速にパイプライン実行す
る第1階層のバスによって、バスの動作速度、並びにそ
のバスによってアクセスされるメモリや周辺機能ユニッ
トの動作速度が実効的に高速化されることで、データの
読み出し又は書き込みのアクセス時間でシステム全体の
性能が律速されるという前記第1の問題を解決すること
ができる。
【0078】更に、第1階層のバスによるメモリアクセ
スのパイプライン実行を、専用の第1階層のバスコント
ローラで制御することによって、アクセスの主体である
バスマスタは、第1階層のバスコントローラに対してメ
モリアクセス動作を起動するバス命令と第1階層のバス
コントローラからの制御信号に従ってアドレスの出力と
データの入出力を実行する手段とを備えるだけでよい。
すなわち、マイクロコンピュータ等のバスマスタ内部の
パイプライン動作制御と、メモリアクセスのパイプライ
ン動作制御を分離することにより、バスマスタ自身は簡
単なインタフェースを実現するだけでよく、特に、メモ
リアクセス動作をパイプライン実行した場合に、バスマ
スタ内部のパイプライン実行状態との種々の組み合せで
発生する制御条件の場合の数を減らすことができる。こ
のことは、全体として、メモリアクセスを実行するため
の制御論理規模を削減することができ、論理規模が増大
するという前記第2の問題を解決することができる。
【0079】更に、アクセスされるデバイスの動作スピ
ードに従ってそのアクセス動作を実行するバスを階層化
して、しかも各階層のバスをそれぞれある一定の範囲で
独立に制御することが可能なバスコントローラを設ける
ことによって、第1階層のバスコントローラとバスマス
タとの間でメモリアクセスの動作制御を分離した場合と
同様の効果を得ることができる。
【0080】本発明によるバスインタフェースに対応し
たマイクロコンピュータ等のバスマスタモジュールを使
用して、別のシステムを構築する際には、バスマスタモ
ジュールのバスインタフェース回路を変更することな
く、第1階層のバスコントローラ、若しくは更に下位階
層のバスコントローラの機能仕様を変更するだけで対応
することが可能となり、別のシステムを構築する際に、
そのシステムのバスインタフェース仕様が限定されてし
まうという前記第3の問題を解決することができる。
【0081】更に、マイクロコンピュータ等のバスマス
タ内部のパイプライン動作制御と、メモリアクセスの動
作制御を分離することによる別の効果として、バスマス
タが複数個存在するシステムにおいて、バスマスタ毎に
同様の機能を果たす複雑なバスインタフェースを備える
必要がなく、それぞれのバスマスタは簡単なバスインタ
フェースを備えるだけで、メモリアクセス実行を制御す
るバスコントローラは全体で1つ備えればよく、全ての
メモリアクセス機能を備えた外部インタフェース回路を
バスマスタの数だけ設ける必要があるという前記第4の
問題を解決することができる。又、このことは、それぞ
れのバスマスタの内部パイプライン動作の仕様が異なる
場合でも、前記したような簡単なバスインタフェース手
段さえ備えておれば、本発明によるところの高速に動作
する前記第1階層のバス手段に接続することが可能であ
るということを意味する。
【0082】以上によって、バス並びにそのバスに接続
されているメモリや周辺機能ユニットの実効的な動作速
度を上げると共に、バスマスタ側のバスインタフェース
を簡単化し、なおかつそのバスに接続されているメモリ
や周辺機能ユニットの側のインタフェース仕様を、バス
マスタ側のインタフェース回路を変更することなく容易
に変更することのできるバスの動作方式、及び該バスと
該バスに接続されるメモリや周辺機能ユニットの動作制
御方式、及び該バスの動作方式に合わせて動作すること
が可能なマイクロコンピュータ、及びそれらのユニット
で構成されるシステムを提供することが可能となる。
【0083】
【発明の効果】本発明によれば、高速動作可能なマイク
ロコンピュータシステムを提供することが可能となる。
【図面の簡単な説明】
【図1】本発明の一実施例によるパイプライン制御バス
を用いたマイクロコンピュータシステムの構成図であ
る。
【図2】図1の実施例のメモリ読み出しのパイプライン
動作を説明する構成図である。
【図3】図1の実施例のメモリアクセスのパイプライン
動作制御を説明する図である。
【図4】図1の実施例のメモリアクセスのパイプライン
動作制御を説明する図である。
【図5】図1の実施例の階層構造バスのパイプライン動
作制御例を説明する図である。
【符号の説明】
101…第1バスマスタ、102…第2バスマスタ、1
10…第1階層のバスで接続されている高速回路ブロッ
ク、111…第1階層のバスコントローラ、112…第
1階層のバスバッファ、113…第1階層のアドレスバ
ス、114…第1階層のデータバス、115…内部高速
メモリ、120…第2階層のバスで接続されている低速
回路ブロック、121…第2階層のバスコントローラ、
122…第2階層のバスバッファ、123…第2階層の
アドレスバス、124…第2階層のデータバス、125
…低速メモリ、126、127…周辺機能ユニット、2
01…レジスタ、202…アドレス演算器(AU)、2
03…アドレスバッファ、204…アドレスデコーダ、
205…記憶素子の選択・読み出し手段、206…リー
ドデータバッファ、207…データバッファ、208…
レジスタ、301…バスアービトレーションステージ、
302…アドレス出力ステージ、303…ライトデータ
ステージ、304…リードデータステージ、401〜4
07…基本クロックの各サイクル、501〜515…基
本クロックの各サイクル、521〜526…見かけ上の
各アクセスバスサイクル、531〜536…各アクセス
動作。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 増村 茂樹 東京都小平市上水本町五丁目22番1号 株 式会社日立超エル・エス・アイ・システム ズ内 (72)発明者 中村 英夫 東京都小平市上水本町五丁目22番1号 株 式会社日立超エル・エス・アイ・システム ズ内 (72)発明者 野口 孝樹 東京都国分寺市東恋ケ窪一丁目280番地 株式会社日立製作所中央研究所内 (72)発明者 河崎 俊平 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 (72)発明者 深田 馨 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 (72)発明者 赤尾 泰 東京都小平市上水本町五丁目20番1号 株 式会社日立製作所半導体グループ内 Fターム(参考) 5B062 DD10 JJ10 5B077 BA02 MM02

Claims (6)

    【特許請求の範囲】
  1. 【請求項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. 【請求項2】請求項1において、 前記バスコントローラは、前記第1のアドレスバスに出
    力されるアクセスアドレスを監視して、前記低速デバイ
    スへのアクセスかを判定することを特徴とするマイクロ
    コンピュータシステム。
  3. 【請求項3】請求項1又は2において、 前記パイプライン動作は、アービトレーションステージ
    を更に有することを特徴とするマイクロコンピュータシ
    ステム。
  4. 【請求項4】請求項1から3の何れか一つにおいて、 前記バスマスタは、複数設けられ、 前記第1制御信号は、前記複数のバスマスタの夫々に対
    応して複数出力されることを特徴とするマイクロコンピ
    ュータシステム。
  5. 【請求項5】請求項1から4の何れか一つにおいて、 前記バスマスタは、前記高速メモリ及び前記低速デバイ
    スと一つのチップ上に内蔵されることを特徴とするマイ
    クロコンピュータシステム。
  6. 【請求項6】バスマスタからのメモリアクセスを階層的
    にパイプライン実行することを特徴とするマイクロコン
    ピュータシステム。
JP2003113567A 2003-04-18 2003-04-18 マイクロコンピュータシステム Pending JP2003330907A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003113567A JP2003330907A (ja) 2003-04-18 2003-04-18 マイクロコンピュータシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003113567A JP2003330907A (ja) 2003-04-18 2003-04-18 マイクロコンピュータシステム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP29677992A Division JP3524110B2 (ja) 1992-11-06 1992-11-06 マイクロコンピュータシステム

Publications (1)

Publication Number Publication Date
JP2003330907A true JP2003330907A (ja) 2003-11-21

Family

ID=29707402

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003113567A Pending JP2003330907A (ja) 2003-04-18 2003-04-18 マイクロコンピュータシステム

Country Status (1)

Country Link
JP (1) JP2003330907A (ja)

Similar Documents

Publication Publication Date Title
JP3524110B2 (ja) マイクロコンピュータシステム
US7523228B2 (en) Method for performing a direct memory access block move in a direct memory access device
US7590774B2 (en) Method and system for efficient context swapping
US6662253B1 (en) Shared peripheral architecture
JPH11312122A (ja) 使用者が構築可能なオンチッププログラムメモリシステム
JPH03282904A (ja) プログラマブルコントローラ
US8694705B2 (en) Information processing device
JPH09190406A (ja) 直接メモリアクセス制御装置及びこれを用いた伝送システム
JP2007133456A (ja) 半導体装置
US20150121037A1 (en) Computing architecture and method for processing data
JP4585647B2 (ja) パイプラインメモリシステムにおける複数のターゲットへの複数の未解決要求のサポート
KR100210205B1 (ko) 스톨캐쉬를 제공하기 위한 장치 및 방법
US7376777B2 (en) Performing an N-bit write access to an M×N-bit-only peripheral
US20030196072A1 (en) Digital signal processor architecture for high computation speed
US7774513B2 (en) DMA circuit and computer system
US8732368B1 (en) Control system for resource selection between or among conjoined-cores
US20030221032A1 (en) Handling of a multi-access instruction in a data processing apparatus
US11755331B2 (en) Writeback hazard elimination using a plurality of temporary result-storage elements
US6604163B1 (en) Interconnection of digital signal processor with program memory and external devices using a shared bus interface
JP2003330907A (ja) マイクロコンピュータシステム
US8560748B2 (en) Information processing system including interrupt processing function
US20040210703A1 (en) Bus interface for processor
JPH1185673A (ja) 共有バスの制御方法とその装置
JP2002278922A (ja) コンピュータバスシステム
JP2002132745A (ja) ディジタル信号処理装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060124

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20060512

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20060512

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060606