JP3752478B2 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP3752478B2 JP3752478B2 JP2002229398A JP2002229398A JP3752478B2 JP 3752478 B2 JP3752478 B2 JP 3752478B2 JP 2002229398 A JP2002229398 A JP 2002229398A JP 2002229398 A JP2002229398 A JP 2002229398A JP 3752478 B2 JP3752478 B2 JP 3752478B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- processor
- memory
- data
- system bus
- 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 - Lifetime
Links
Images
Landscapes
- Bus Control (AREA)
Description
【発明の属する技術分野】
本発明は、ワークステーション、パーソナルコンピュータ、ワードプロセッサ等の情報処理装置に使用されるバスシステムに関する。
【0002】
【従来の技術】
情報処理装置内のバスシステムは従来、バイト、14巻、12号(1989)、第417頁〜424頁、(BYTE,Volume 14,Number 12(1989),pp.417〜424)のL.Brett Glass,“INSIDEEISA”に述べられているバスシステムのように、メモリバスとシステムバスが個々にプロセッサバスに接続されているか、又はプロセッサバスとメモリバスが個々にシステムバスに接続されている構成となっていた。
【0003】
【発明が解決しようとする課題】
前者は、システムバスとメモリバスが連動動作するいわゆるダイレクトメモリアクセス(Direct Memory Access,以下DMA)の際に、プロセッサバスが独立動作ができないため、プロセッサバスの使用効率が悪くなる。一方、後者は、プロセッサバスとメモリバスが連動動作する、いわゆるメインメモリアクセスの際にシステムバスが独立動作できないため、システムバスの使用効率が悪くなるという問題があった。
【0004】
なお、これらの従来のバスシステムの構成と問題点については、後に図面を用いて詳述する。
【0005】
本発明の目的は各バスの使用効率を最大とする情報処理装置のバスシステムを提供することにある。
【0006】
本発明の他の目的はプロセッサバスとメモリバスの連動動作とシステムバスの独立動作を同時に行うことが可能なバスシステムを提供することにある。
【0007】
本発明の更なる目的はシステムバスとメモリバスの連動動作とプロセッサバスの独立動作を同時に行うことが可能なバスシステムを提供することにある。
【0008】
本発明の更なる他の目的は、システムバス、メモリバス、プロセッサバスの3種のバスが少なくとも3本以上相互接続される場合の、各バスの使用効率を最大とする情報処理装置用バスシステムを提供することにある。
【0009】
【課題を解決するための手段】
上記目的を達成するため、本発明においては、第1バス、第2バス、第3バスの3つのバスを少なくとも三叉路状に接続し、3種のバスのうち、任意の2つを連動動作している間、他のバスが独立動作可能な構成とする。
【0010】
すなわち、本発明においては、プロセッサと、主メモリと、入出力デバイスと、該プロセッサと接続した第1バスと、該主メモリに接続した第2バスと、該入出力デバイスと接続した第3バスとを有する情報処理装置において、該第1バスと該第2バスと該第3バスとが接続され、前記プロセッサと前記主メモリと前記入出力デバイスの任意の2つ間でデータ転送を可能とする接続手段を有し、該接続手段は、接続された前記第1バスと前記第2バスを用い、前記プロセッサと前記主メモリとの間で第1のデータ信号を転送する第1のデータ転送モードと、接続された前記第2バスと前記第3バスを用い、前記主メモリと前記入出力デバイスとの間で第2のデータ信号を転送する第2のデータ転送モードと、接続された前記第3バスと前記第1バスを用い、前記入出力デバイスと前記プロセッサとの間で第3のデータ信号を転送する第3のデータ転送モードとからなる、それぞれ独立したデータ転送モードを可能とすることを特徴とする情報処理装置である。
【0011】
これにより、3種のバスの使用効率を最大限に高めることができる。
【0012】
また、上記目的を達成するため、本発明においては、プロセッサバス、メモリバス、システムバスの3種のバスを少なくとも三叉路状に接続し、3種のバスのうち、任意の2種を連動動作している間、他の1種のバスが独立動作可能な構成とする。
【0013】
すなわち、本発明においては、少なくとも一個のプロセッサが接続されたプロセッサバス、メインメモリに接続されたメモリバス、少なくとも一個の入出力デバイス(以下I/Oデバイス)などの接続デバイスが接続されたシステムバスの3種のバスを少なくとも三叉路接続するコントロール手段を設け、このコントロール手段により、各種のバスの相互接続を可能とする。
【0014】
すなわち、本発明においては、情報処理装置のバスシステムを、少なくとも一個のプロセッサが接続されたプロセッサバスと、メインメモリに接続されたメモリバスと、少なくとも一個の接続デバイスが接続されたシステムバスと、これら3種のバスが接続され、これら3種のバスの相互接続のための接続コントロール手段とで構成する。
【0015】
本発明では、この接続コントロール手段は、三種のバスのそれぞれのデータバスが接続され、これらバス上のデータを相互に転送するデータパススイッチング手段と、三種のバスのそれぞれの制御バスとアドレスバスが接続され、これらバス上のコントロール信号及びアドレスを相互に転送すると共に、データパススイッチング手段へのデータパス制御信号を発生するバス・メモリ接続コントローラから構成される。
【0016】
好適にはこのデータパススイッチング手段とバス・メモリ接続コントローラはそれぞれ単独に、あるいは一体として、一つの集積回路上に構成される。
【0017】
更に、本発明においては、三種のバスはそれぞれ一本でなく、三種のバスのいずれかが複数本の場合においても同様に接続コントロール手段を構成し、これらのバスの相互接続を可能とすることができる。
【0018】
上述した本発明の構成において、プロセッサバス、メモリバス、システムバスの3種のバスが少なくとも三叉路状に相互に接続されることにより、例えばプロセッサバス上のプロセッサからメモリバス上の主記憶メモリへアクセスするプロセッサメインメモリアクセスの場合に、データはプロセッサバスとメモリバスのみ介して転送され、システムバスを経由しないため、システムバスは独立に動作することが可能となる。一方、システムバス上の接続デバイスからメモリバス上の主記憶メモリへアクセスするDMAの場合、データはシステムバスとメモリバスのみ介して転送され、プロセッサバスを経由しないので、プロセッサバスは独立して動作することが可能となる。
【0019】
これにより、3種のバスの使用効率を最大限に高めることができる。
【0020】
【発明の実施の形態】
以下、本発明の実施例を図面を用いて詳述する。
まず、本発明の第一の実施例を図1〜図6を用いて説明する。このうち、図2、図3は従来技術におけるバスシステムの構成図を示すが、本発明との比較のためここで詳述する。
【0021】
図1、図2、図3において、共通して、101はN個(Nは整数)のプロセッサ、102はキャッシュメモリシステム(cache)、104はメインメモリ(main memory)、105はM個(Mは整数)のシステムバス接続デバイスである。システムバス接続デバイス105としては、ディスク・ファイル系コントローラ、描画・表示系コントローラ、ネットワーク・通信系コントローラ等のいわゆる入出力(I/O)デバイスを示す。111はプロセッサバス、112はメモリバス、113はシステムバスである。そして、図1における103は三叉路接続コントローラであり、図2、図3における201、301はバス接続コントローラ、202、302はメモリ接続コントローラである。
【0022】
図2、図3に示した従来のバスシステムにおいて、図2ではシステムバス113とメモリバス112が各々バス接続コントローラ201とメモリ接続コントローラ202によって、プロセッサバス111に独立に接続される構成となっている。一方、図3ではプロセッサバス111とメモリバス112が各々バス接続コントローラ301とメモリ接続コントローラ302によってシステムバス113に独立に接続される構成となっている。
【0023】
図2の構成においては、システムバス113の接続デバイス105とメモリバス112上のメインメモリとの間でデータ転送を行うDMA動作において、プロセッサバス111を経由する。そのため、プロセッサ101とキャッシュ102間、あるいは複数のプロセッサ101間のデータ転送等のプロセッサバス111の独立動作をDMA動作と同時に行うことができない。一方、図3の構成においては、プロセッサ101とメインメモリ104との間でデータ転送が行われる、所謂、プロセッサメインメモリアクセスにおいて、システムバス113を経由することになるため、複数のシステムバス接続デバイス105間のデータ転送等のシステムバス113の独立動作をプロセッサメインメモリアクセスと同時に行うことができない。
【0024】
これに対し、本発明の第一の実施例である図1のバスシステムでは、プロセッサバス111、メモリバス112及びシステムバス113の3種のバスが、三叉路接続コントローラ103により、三叉路状に接続された構成を有する。従って、DMA動作の場合、プロセッサバス111を経由しないので、プロセッサバス111の独立動作をDMA動作と同時に実行することができる。又、プロセッサメインメモリアクセスの場合、システムバス113を経由しないので、システムバス113の独立動作をプロセッサメインメモリアクセスと同時に実行することができる。これにより、DMA、プロセッサメインメモリアクセスの場合にも、三種のバスの使用効率を最大にすることができる。
【0025】
以下、図1に示した本発明の第1の実施例のバスシステムと図2、図3に示した従来のバスシステムの性能評価の一例について述べ、本発明の第一の実施例の効果を定量的に説明する。
【0026】
図1、図2、図3のバスシステムにおいて、プロセッサバス111の最大データスループットを400メガバイト/秒、メモリバス112の最大データスループットを400メガバイト/秒、システムバス113の最大データスループットを200メガバイト/秒とする。又、プロセッサバス111におけるメインメモリアクセスの比率を40%、システムバス113におけるDMAの比率を70%、バス接続コントローラ201及び301の最大バス獲得比率を50%とする。以上の条件で、プロセッサバス111とシステムバス113が共に最大データスループットで動作しようとした場合の各バスシステムの性能評価は下記のとおりである。
【0027】
まず、図2の従来のバスシステムでは、システムバス113が最大スループットの200メガバイト/秒で動作しようとすると、その70%である140メガバイト/秒のDMAの要求がバス接続コントローラ201に送られる。バス接続コントローラ201は、プロセッサバス111について、400メガバイト/秒の50%である200メガバイト/秒までバス獲得が可能であるため、140メガバイト/秒のDMA要求全てを獲得する。この結果、システムバス113は200メガバイト/秒で動作できるが、プロセッサバス111はDMA要求のため、実質的に(400−140)=260メガバイト/秒でしか動作できない。このとき、プロセッサメインメモリアクセスは、260メガバイト/秒の40%である104メガバイト/秒になる。従って、メモリバス112への要求は(140+104)=254メガバイト/秒となり、メモリバス112はこの要求に対応可能となる。以上をまとめると、図2の従来のバスシステムにおける3種のバスの使用効率は、プロセッサバス111が260/400=65%、メモリバス112が254/400=63.5%、システムバス113が200/200=100%となる。
【0028】
次に、図3の従来のバスシステムでは、プロセッサバス111が最大スループットの400メガバイト/秒で動作しようとすると、その40%の160メガバイト/秒のメインメモリアクセス要求がバス接続コントローラ301に送られる。バス接続コントローラ301は、システムバス113について、200メガバイト/秒の50%の100メガバイト/秒までしかバスを獲得できない。従って、プロセッサメインメモリアクセスは100メガバイト/秒しか処理されず、その結果プロセッサバス111は、100メガバイト/秒が40%となる、250メガバイト/秒でしか動作できない。またこのときシステムバス113は、実質的に(200−100)=100メガバイト/秒で動作する。従って、DMA要求は100メガバイト/秒の70%である70メガバイト/秒になる。この結果、メモリバス112への要求は(100+70)=170メガバイト/秒となり、メモリバス112はこの要求に対応可能である。以上まとめると、図3の従来のバスシステムにおける3種のバスの使用効率は、プロセッサバス111が250/400=62.5%、メモリバス112が170/400=42.5%、システムバス113が100/200=50%となる。
【0029】
これに対し、本発明の第1の実施例である図1のバスシステムにおいては、プロセッサバス111が400メガバイト/秒で動作しようとすると、その40%の160メガバイト/秒のメインメモリアクセス要求が、三叉路接続コントローラ103に送られる。又、システムバス113が200メガバイト/秒で動作しようとすると、その70%の140メガバイトのDMA要求が、それぞれ三叉路接続コントローラ103に送られる。三叉路接続コントローラ103はプロセッサメインメモリアクセス要求とDMA要求を合わせて、(160+140)=300メガバイト/秒の要求をメモリバス112に送り、メモリバス112はこの要求に応じられる。従って、プロセッサバス111は400メガバイト/秒で、システムバス113は200メガバイト/秒で動作することができる。以上により、図1に示した本発明の第1の実施例のバスシステムにおける三種のバスの使用効率は、プロセッサバスが400/400=100%、メモリバス112が300/400=75%、システムバス113が200/200=100%となる。
【0030】
以上の結果を第1表に示した。表1に明らかなように、本発明による図1のバスシステムでは、三種のバスの使用効率が最大になることが理解される。
【0031】
【表1】
【0032】
さて、本発明の具体的な構成を示す実施例に先立ち、図7、図8を用いて本発明の第2、第3の実施例であるバスシステムについて説明する。
【0033】
図7、図8において、701及び703は個別のキャッシュメモリシステム(Cache)を接続できる単独構成型プロセッサ1〜N、801は個別のキャッシュメモリシステムを接続できるN個のマルチ構成型プロセッサである。711及び712は、各々単独構成型プロセッサ701、703と四叉路接続コントローラ705を接続するプロセッサバス、705はプロセッサバス711、712、メモリバス112及びシステムバス113を接続する四叉路接続コントローラである。又、702、704及び802は、各々プロセッサ701、703及び801に個別に接続されるキャッシュメモリシステムである。なお、システムバス接続デバイス105は、先の実施例と同様のI/Oデバイスである。
【0034】
図7に示す本発明の第2の実施例において、2本のプロセッサバス711、712、メモリバス112及びシステムバス113の三種4本のバスが、四叉路接続コントローラ705によって、四叉路状に接続されている。プロセッサ701及び703は個別のキャッシュメモリシステム702及び704を接続できる単独構成型プロセッサである。このため、プロセッサ701及び703は、各々の個別キャッシュメモリ702及び704へは、プロセッサバスを介さずに直接アクセスすることができるが、プロセッサバスを共有することはできない。
【0035】
図7において、四叉路接続コントローラ705は、三種4本のバスの接続制御を行うことにより、プロセッサ701、703間の通信を、DMAと並行して行ったり、あるいはプロセッサ701によるメインメモリアクセスと、プロセッサ703によるシステムバスアクセスを並行して行う等の動作を可能としている。
【0036】
これにより、本実施例においても先の実施例同様、三種4本のバスの使用効率を最大にすることができる。
【0037】
図8は、図1に示した第1の実施例同様、プロセッサバス111、メモリバス112及びシステムバス113の三種のバスが、三叉路接続コントローラ103により、三叉路上に接続された構成を有する。プロセッサ801は個別のキャッシュメモリシステム(cache)を接続できるマルチ構成型プロセッサである。このため、プロセッサ801の各々は、個別キャッシュメモリ802へはプロセッサバスを介さずにアクセスでき、又、プロセッサバス111を共有することができる。更に、図8の本発明の第3の実施例のバスシステムでは、図1と同様に、DMAとプロセッサバス111の独立動作を並行して行う、あるいはプロセッサバス111からのメインメモリアクセスとシステムバス113の動作を並行して行う等の動作が可能であり、これにより第1の実施例と同様に三種のバスの使用効率を最大にすることができる。
【0038】
続いて上述した本発明の実施例の要部の具体的実施例を図4、図5、図6を用いて詳述する。特に図1、図7に示した第一、第三の実施例の三叉路接続コントローラ103の詳細構成を説明するが、図7に示した四叉路接続コントローラ705についても同様に構成できる。
【0039】
さて、図4は三叉路接続コントローラ103の2個の集積回路による構成図を示している。図4において、三叉路接続コントローラ103には、プロセッサバス111、メモリバス112、システムバス113が接続されている。これらのバスは、各々、アドレスバス411、414、417、制御バス412、415、418、データバス413、416、419によって構成される。本実施例において、三叉路接続コントローラ103は2個の集積回路、すなわちバス・メモリ接続コントローラ401、データパススイッチ402によって構成される。但し、三叉路接続コントローラ103は、1個あるいは3個以上の集積回路によって構成することもできる。
【0040】
データパススイッチ402は、プロセッサデータバス413、メモリデータバス416、システムデータバス419の3種のデータバスを三叉路状に接続する。そして、バス・メモリ接続コントローラ401から出力されるデータパス制御信号420に従って、3種のデータバス413、416、419の接続、切離し、及びデータ入出力方向の制御を行う。一方、バス・メモリ接続コントローラ401は、プロセッサアドレスバス411、プロセッサ制御バス412、システムアドレスバス417、システム制御バス418が接続される。そして、プロセッサバス111とシステムバス113の状態を監視する。又、メモリアドレスバス414、メモリ制御バス415、及びデータパス制御信号412を出力して、メインメモリ104及びデータパススイッチ402を制御する。データパス制御信号412については後で詳述する。
【0041】
バス・メモリ接続コントローラ401は、プロセッサバス111からプロセッサメインメモリアクセスが要求された場合、プロセッサバス111とメモリバス112を連動動作させて、システムバス113を独立動作させる。更に、システムバス113からDMAが要求された場合、システムバス113とメモリバス112を連動動作させて、プロセッサバス111を独立動作させる。又、プロセッサバス111からシステムバス113へのアクセス要求、あるいはシステムバス113からプロセッサバス111へのアクセス要求があった場合は、プロセッサバス111とシステムバス113を連動動作させる。又、更にプロセッサバス111からの要求とシステムバス113からの要求が競合する場合、例えば、両方から同時にメモリアクセス要求があった場合などには、いずれか一方のバスに対してウェイト動作を行う等の調停制御を行う機能を持つ。
【0042】
図5は、図4中のデータパススイッチ402の一実施例の内部構成を示す図である。図5において、507、508、509は各々プロセッサデータバス413、メモリデータバス416、システムデータバス419に接続するデータ入出力ドライバ、501、502、503はデータラッチ回路(Latch)、504、505、506はデータセレクタ(Selector)である。デコーダ回路510は、バス・メモリ接続コントローラ401が出力するデータパス制御信号420をデコードして、入出力バッファ507、508、509の出力イネーブル信号(Enable)511、512、513と、データセレクタ504、505、506のセレクト信号(Select)514、515、516を生成する。
【0043】
データラッチ501、502、503には各々プロセッサデータバス413、メモリデータバス416、システムデータバス419からの入力データがラッチされる。セレクタ504、505、506は各々プロセッサデータバス413、メモリデータバス416、システムデータバス419への出力データを、他の2種のデータバスからの入力データから選択する。これにより、3種のデータバスのうち任意の1種からの入力データを他の2種のデータバスの両方に出力する、あるいは一方にのみデータ出力して他の一方には出力しないという制御が行うことができる。従って、データパス制御信号420によって、3種のデータバス全ての連動動作、あるいは3種のうち任意の2種の連動動作と他の1種の独立動作を行うことができる。
【0044】
図6は、図4中のバス・メモリ接続コントローラ401の内部構成の一実施例を示す図である。図6において、601、602、603、604は入出力ドライバ、605、606、607、608はラッチ回路(Latch)である。又、609、610はデコーダ回路、611、612はエンコーダ回路、613は論理演算器であるシーケンサ、614はデコーダ回路である。又、615はセレクタ、616はメモリ制御信号生成部、617はデータパス制御信号生成部である。
【0045】
プロセッサアドレスバス411、プロセッサ制御バス412、システムアドレスバス417、システム制御バス418からの入力信号は、各々入出力ドライバ601、602、603、604を介して、ラッチ回路605、607、606、608にラッチされる。2種のアドレスバスから入力され、ラッチ回路605、606にラッチされたアドレスは、各々デコーダ回路609、610にてデコードされる。デコード結果は、2種の制御バス412、418からの信号入力であるラッチ回路607、608のデータと合わせて、各々エンコーダ回路611及び612によって、プロセッサバス111とシステムバス113の状態を示す信号にエンコードされる。これにより、バス・メモリ接続コントローラ401は、プロセッサバス111及びシステムバス113の状態を監視することができる。
【0046】
エンコーダ回路611、612によりエンコードされたプロセッサバス111及びシステムバス113の状態信号は、論理演算器であるシーケンサ613に入力される。シーケンサ613は、2種のバス111、113の状態信号から、各々のバスへの対応、及びメモリバス112の動作を算出し、コード情報として出力する。シーケンサ613は、汎用のマイクロプロセッサや、専用のハード構成で構成される。
【0047】
シーケンサ613から出力されたコード情報はデコーダ回路614によりデコードされ、入出力ドライバ601、602、603、604の出力イネーブル信号618、619、620、621、セレクタ回路615のセレクト信号622、メモリ制御信号生成部616、データパス制御信号生成部617へのメモリ制御コード623、及びデータパス制御コード624、及び入出力ドライバ602、604をそれぞれ介したプロセッサ制御バス412、システム制御バス418への制御出力信号625、626として出力される。
【0048】
入出力ドライバ601は、システムバス113からプロセッサバス111へのアクセスが生じた場合に、システムアドレスバス417からの入出力アドレスをプロセッサアドレスバス411に出力する。又、入出力ドライバ602は、プロセッサ制御バス412に、プロセッサバス111の仕様で定められた制御出力信号625を出力する。一方、入出力ドライバ603は、プロセッサバス111からシステムバス113へのアクセスが生じた場合に、プロセッサアドレスバス411からの入出力アドレスをシステムアドレスバス417に出力する。又、入出力ドライバ604は、システム制御バス418に、システムバス113の仕様で定められた制御出力信号626を出力する。
【0049】
セレクタ回路615は、プロセッサアドレスバス411とシステムアドレスバス417からアドレスが入力され、メモリバス112へのアクセスが生じた場合に、いずれか一方を選択してメモリアドレスバス414に出力する。メモリ制御信号生成部616は、コード変換回路として機能し、デコーダ回路614が出力するメモリ制御コード623をメモリバス112の仕様で定められたメモリ制御信号に変換してメモリ制御バス415に出力する。データパス制御信号生成部617もコード変換回路として機能し、デコーダ回路614が出力するデータパス制御コード624を、データパススイッチ402に対するデータパス制御信号420に変換して出力する。
【0050】
以上詳述した三叉路接続コントローラ103内のバス・メモリ接続コントローラ401は3種のバスの接続、切離し、ウェイト等の制御を行うことができる。
【0051】
引き続き、上述した三叉路接続コントローラ103内の各種データ、信号についての一実施例を図9〜図19を用いて詳述する。
【0052】
図9には、バス・メモリ接続コントローラ401からデータパススイッチ402へ出力されるデータパス制御信号420と、それに対応してデコーダ510でデコードされた入出力ドライバ507、508、509のエネーブル信号511、512、513、データセレクタ504、505、506のセレクト信号514、515、516との関係の一例を示している。同図中、最上段のマスタ(master)、スレーブ(Slave)、リード/ライト(Read/Wrete)の各欄は、データ転送のマスタ・スレーブ、及びそのデータ転送がマスタからスレーブに対するリード転送かライト転送かを意味している。最上段の残りの部分には、図5中の上述の信号511〜516に対応する信号名を記載した。最上段の最右欄のDT−CNTがデータパス制御信号420である。このデータパス制御信号(DT−CNT)420は本実施例では3ビットで表わされる。何も転送を行わないアイドル状態(Idel)では、DT−CNT420は0(“000”)である。
【0053】
それぞれのエネーブル信号(DIR−P,DIR−M,DIR−S)511、512、513は、入出力ドライバ507、508、509のそれぞれが入力のとき“0”、出力のとき“1”である。セレクト信号(SEL−P)514は、セレクタ504がメモリバス112側を選択するとき“0”、システムバス113側を選択するとき“1”である。又、セレクト信号(SEL−M)515は、セレクタ505がプロセッサバス111側を選択するとき“0”、システムバス113側を選択するとき“1”である。更に、セレクト信号(SEL−S)516は、セレクタ506がプロセッサバス111側を選択するとき“0”、メモリバス112側を選択するとき“1”である。本図により、データパススイッチ402のデコーダ510に入力されるDT−CNT420により、データパススイッチ402内のセレクタ504〜506、入出力ドライバ507〜509の制御をそれぞれ実行でき、三種のバスの接続方向制御が可能となる。
【0054】
次に、本発明における三叉路接続コントローラ103の動作を図4の三叉路接続コントローラ103に接続されるバスを詳細化した図19の構成図と図17、図18のタイミングチャートを用いて説明する。
【0055】
これらの図において、図1、図4と同一の符号は同一物を意味している。1910、1911はそれぞれ先のシステムバス接続デバイス105に対応するDMAマスタI/Oデバイス、スレーブI/Oデバイスを示す。図19中で、アクノレッジ信号(ACK)1902はプロセッサ101への応答信号であり、リード時はデータの確定を、ライト時はデータの取り込みを示す。
【0056】
ロウアドレスストローブ信号(RAS)1903、カラムアドレスストローブ信号(CAS)1904、ライトイネーブル信号(WE)1905はそれぞれメインメモリ104のメモリ制御バス415に送られるメモリコントロール信号の一部である。アドレス選択信号(AD−MPX)はバス・メモリ接続コントローラ401の内部信号であり、本信号がハイのときロウアドレスを、ローのときカラムアドレスを出力するものである。システムバスグランド信号(S−GNT)1906は、システムバス接続デバイス105であり、DMAマスタになりうるI/Oデバイス1910にシステムバス113を使用許可を与え、DMAマスタになることを可能にするものである。アドレス/データストローブ信号(S−STB)1907はシステムバスマスタが出力するもので、DMAアクセスのときはDMAマスタI/Oデバイス1910が出力し、プロセッサI/Oアクセスのときは、バス・メモリ接続コントローラ401が出力し、リード時はアドレスの、ライト時はアドレスとデータ両方のそれぞれの確定期間出力される。システムバススレーブ応答信号(S−ACK)1908は、システムバススレーブの応答信号であり、DMAアクセスの時は、バス・メモリ接続コントローラ401が出力し、プロセッサシステムバスI/Oアクセスの時はスレーブI/Oデバイス1911が出力する。リード時はデータの確定と、ライト時はデータの取り込みを示す。S−GNT1906、S−STB1907、S−ACK1908、及びリード/ライトの別を示す信号(S−READ)1909とはシステム制御バス418に送られる制御出力信号626に属する。システムバスアドレス(S−ADD)はシステムアドレスバス417に送られる。なお、システムバスリード/ライト信号(S−READ)はハイ(H)のときリードを示す。
【0057】
図16はバスメモリ接続コントローラ401のシーケンサ613の状態遷移の一実施例を示す図である。又、図10〜図15は図16に示した各転送種のそれぞれの状態遷移の複数のステップで出力する信号を示す図であり、それぞれプロセッサメインメモリリード、プロセッサメインメモリライト、プロセッサシステムバスデバイスリード、プロセッサシステムバスデバイスライト、DMAリード、DMAライトに対応する。“○”印が信号のアサートを示し、S−READ1909の“H”,“L”はそれぞれ信号値ハイ、ローを出力する意味である。又、信号名の上部に記載されたバーは信号が負論理であることを意味する。
【0058】
図16において、図12に対応するプロセッサシステムバスデバイス・リードのステップS2では、システムバススレーブのデータ確定待ちが行われる。図13に対応するプロセッサシステムバスデバイスライトのステップS3では、ライト応答待ちが行われる。図14に対応するDMAリードのステップS1では、S−STB受信待ちが行われ、S−STBを受けたときのリード/ライト判定に従って次のステップS2への遷移先が定まる。又、DMAリードのステップS8、DMAライトのS5では、DMAマスタのS−STBのネゲート待ちが行われる。
【0059】
図9〜図16により規定される転送のタイムチャートである図17、図18のタイムチャート中に( )で示したものは、各々の信号の出力元である。
【0060】
すなわち、(BMCC)はバスメモリ接続コントローラ401が出力することを、又(I/O)はDMAマスタI/Oデバイス1910、又はプロセッサシステムバスI/OアクセスのスレーブとなったスレーブI/Oデバイス1911をそれぞれ示す。
【0061】
さて、図5に示すデータパススイッチ402のラッチ回路501、502、503はエッジトリガフリップフロップにより構成され、図17、図18に示すクロック(CLK)の立ち上がりでラッチされる。スタート信号(START)1901はプロセッサ1の出力する転送起動信号であり、これが出力されているクロック(CLK)の立ち上がりでアドレスをラッチして使用する。その他では、M−ADDはメモリアドレスバス414に送られるメモリアドレスを示す。又、P−Data,M−data,S−dataはそれぞれプロセッサデータバス413、メモリデータバス416、システムデータバス419に送られたデータを、示す。更に、P−Latch,M−Latch,S−Latchはそれぞれラッチ501、502、503にラッチされたデータを示す。
【0062】
図13で示したプロセッサシステムバスデバイスライトのステップS3では、S−ACKアサート待ちによるウェイトが1サイクル入っている。又、図12で示したプロセッサシステムバスデバイスリードのステップS2で、S−ACKアサート待ちによりウェイトが2サイクル入っている。そして、図14に示したDMAリードのステップS1でS−STBアサート待ちによるウェイトが1サイクル、ステップS3でS−STBネゲート待ちによるウェイトが1サイクル入っていることが図16から明らかである。
【0063】
図18で、DMAライトのステップS1では、やはりS−STBアサート待ちによるウェイトが1サイクル入っているが、ステップS5でのネゲート待ちはノーウェイトで実行されている。
【0064】
以上、詳述してきた図9〜図18に示した方法で、図4、図5、図6のバスメモリ接続コントローラ401、データパススイッチ402を動作させることで、図1に示した三叉路接続コントローラ103の一実施例の動作が理解された。
【0065】
図7に示した四叉路接続コントローラ705などの構成、動作について、ここでは詳述しないが、上述の三叉路接続コントローラの構成・動作から容易に理解される。
【0066】
又、上述した図4以下の説明においては、プロセッサバス111、メモリバス112、システムバス113が全てアドレス・データ分離型バスになっているが、本発明は、アドレス・データ多重型バスにも適用できることは言うまでもない。例えば、プロセッサバス111とシステムバス113がアドレス・データ多重化バスである場合には、図4において、プロセッサアドレスバス411とプロセッサデータバス413、及びシステムアドレスバス417とシステムデータバス419が各々1本のバスになり、バス・メモリ接続コントローラ401とデータパススイッチ402の両方に接続されることになる。その他、本発明の基本概念の下、上述した実施例にかかわらず、数々の変形がなされうることは言をまたない。
【0067】
【発明の効果】
以上、詳述してきた本発明によれば、少なくとも3種のバスの内、任意の2本が連動動作している間、他の1本以上のバスが独立動作することができるので、各バスの使用効率を最大にするという効果がある。特に、プロセッサバス上に複数のプロセッサが接続されている場合、又はキャッシュメモリシステムが接続されている場合等に、DMA動作と複数プロセッサ間、又はプロセッサとキャッシュメモリシステム間のデータ転送を同時に行え、又、プロセッサメインメモリアクセスと複数のシステムバス接続デバイス間のデータ転送を同時に行えるなどの効果がある。
【図面の簡単な説明】
【図1】本発明のバスシステムの第1の実施例を示す概略構成図。
【図2】従来技術のバスシステムの概略構成図。
【図3】従来技術のバスシステムの他の概略構成図。
【図4】本発明の第1の実施例における三叉路接続コントローラ103の一実施例を示す概略構成図。
【図5】本発明の第1の実施例における三叉路接続コントローラ103の一実施例におけるデータパススイッチ402の一実施例を示すブロック図。
【図6】本発明の第1の実施例における三叉路接続コントローラ103の一実施例におけるバス・メモリ接続コントローラ401の一実施例を示すブロック図。
【図7】本発明のバスシステムの第2の実施例を示す概略構成図。
【図8】本発明のバスシステムの第3の実施例を示す概略構成図。
【図9】図5に示した本発明のデータパススイッチ402内のデコーダ510でデコードされるデータパス制御信号420とそのデコード結果の対応を示す図。
【図10】本発明の実施例におけるプロセッサメインメモリリードの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。
【図11】本発明の実施例におけるプロセッサメインメモリライトの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。
【図12】本発明の実施例におけるプロセッサシステムバスデバイスリードの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。
【図13】本発明の実施例におけるプロセッサシステムバスデバイスライトの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。
【図14】本発明の実施例におけるDMAリードの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。
【図15】本発明の実施例におけるDMAライトの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。
【図16】図6に示すバス・メモリ接続コントローラ401内のシーケンサ601の状態遷移の一実施例を示す遷移図。
【図17】図9〜図16により規定されるデータ転送の一例を示すタイムチャート図。
【図18】図9〜図16により規定されるデータ転送の一例を示す他のタイムチャート図。
【図19】図17、図18にあらわれる信号を示した図4における三叉路接続コントローラ103と各バス111、112、113との接続を具体的に示した構成図。
【符号の説明】
101…N個のプロセッサ、
102…キャッシュメモリシステム、
103…三叉路接続コントローラ、
104…メインメモリ、
105…M個のシステムバス接続デバイス、
111…プロセッサバス、
112…メモリバス、
113…システムバス。
Claims (12)
- データ、制御信号及びデータアドレス信号を転送するプロセッサバスと、
前記プロセッサバスに接続されるプロセッサと、
データ、制御信号及びデータアドレス信号を転送するメモリバスと、
前記メモリバスに接続されるメインメモリと、
データ、制御信号及びデータアドレス信号を転送するシステムバスと、
前記システムバスに接続される表示コントローラと、
前記プロセッサバス、前記メモリバス及び前記システムバスに接続される少なくとも 1 以上の回路を有する転送ユニットとを有し、
前記転送ユニットは、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバス及び前記メモリバスとを連動動作させて前記プロセッサと前記メモリとの間で第一のデータを双方向に転送する第一の転送モードと、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバス及び前記システムバスとを連動動作させて前記メインメモリと前記表示コントローラとの間で第二のデータを双方向に転送する第二の転送モードと、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバス及び前記プロセッサバスとを連動動作させて前記表示コントローラと前記プロセッサとの間で第三のデータを双方向に転送する第三の転送モードとを有することを特徴とする情報処理装置。 - 前記プロセッサバスにキャッシュメモリが接続されていることを特徴とする請求項1記載の情報処理装置。
- 前記プロセッサにキャッシュメモリが接続されていることを特徴とする請求項1記載の情報処理装置。
- 前記転送ユニットは、前記第一のデータ、前記第二のデータおよび前記第三のデータのうち少なくとも1つをラッチするラッチ回路を有することを特徴とする請求項1に記載の情報処理装置。
- データ、制御信号及びデータアドレス信号を転送するプロセッサバスと、
前記プロセッサバスに接続されるプロセッサと、
データ、制御信号及びデータアドレス信号を転送するメモリバスと、
前記メモリバスに接続されるメインメモリと、
データ、制御信号及びデータアドレス信号を転送するシステムバスと、
前記システムバスに接続されるネットワークコントローラと、
前記プロセッサバス、前記メモリバス及び前記システムバスに接続される少なくとも 1 以上の回路を有する転送ユニットとを有し、
前記転送ユニットは、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバス及び前記メモリバスとを連動動作させて前記プロセッサと前記メモリとの間で第一のデータを双方向に転送する第一の転送モードと、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバス及び前記システムバスとを連動動作させて前記メインメモリと前記ネットワークコントローラとの間で第二のデータを双方向に転送する第二の転送モードと、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバス及び前記プロセッサバスとを連動動作させて前記ネットワークコントローラと前記プロセッサとの間で第三のデータを双方向に転送する第三の転送モードとを有することを特徴とする情報処理装置。 - 前記プロセッサバスにキャッシュメモリが接続されていることを特徴とする請求項5記載の情報処理装置。
- 前記プロセッサにキャッシュメモリが接続されていることを特徴とする請求項5記載の情報処理装置。
- 前記転送ユニットは、前記第一のデータ、前記第二のデータおよび前記第三のデータのうち少なくとも1つをラッチするラッチ回路を有することを特徴とする請求項5に記載の情報処理装置。
- データ、制御信号及びデータアドレス信号を転送するプロセッサバスと、
前記プロセッサバスに接続されるプロセッサと、
データ、制御信号及びデータアドレス信号を転送するメモリバスと、
前記メモリバスに接続されるメインメモリと、
データ、制御信号及びデータアドレス信号を転送するシステムバスと、
前記システムバスに接続されるファイルコントローラと、
前記プロセッサバス、前記メモリバス及び前記システムバスに接続される少なくとも 1 以上の回路を有する転送ユニットとを有し、
前記転送ユニットは、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバス及び前記メモリバスとを連動動作させて前記プロセッサと前記メモリとの間で第一のデータを双方向に転送する第一の転送モードと、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバス及び前記システムバスとを連動動作させて前記メインメモリと前記ファイルコントローラとの間で第二のデータを双方向に転送する第二の転送モードと、
前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバス及び前記プロセッサバスとを連動動作させて前記ファイルコントローラと前記プロセッサとの間で第三のデータを双方向に転送する第三の転送モードとを有することを特徴とする情報処理装置。 - 前記プロセッサバスにキャッシュメモリが接続されていることを特徴とする請求項9記載の情報処理装置。
- 前記プロセッサにキャッシュメモリが接続されていることを特徴とする請求項9記載の情報処理装置。
- 前記転送ユニットは、前記第一のデータ、前記第二のデータおよび前記第三のデータのうち少なくとも1つをラッチするラッチ回路を有することを特徴とする請求項9に記載の情報処理装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002229398A JP3752478B2 (ja) | 2002-08-07 | 2002-08-07 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002229398A JP3752478B2 (ja) | 2002-08-07 | 2002-08-07 | 情報処理装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000377988A Division JP2001216252A (ja) | 2000-12-07 | 2000-12-07 | 情報処理装置用バスシステム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003393270A Division JP4102740B2 (ja) | 2003-11-25 | 2003-11-25 | 情報処理装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003132009A JP2003132009A (ja) | 2003-05-09 |
JP3752478B2 true JP3752478B2 (ja) | 2006-03-08 |
Family
ID=19196250
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002229398A Expired - Lifetime JP3752478B2 (ja) | 2002-08-07 | 2002-08-07 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3752478B2 (ja) |
-
2002
- 2002-08-07 JP JP2002229398A patent/JP3752478B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003132009A (ja) | 2003-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JPH04227557A (ja) | 情報処理装置 | |
US6098136A (en) | Multiple bus system using a data transfer unit | |
Bainbridge et al. | Asynchronous macrocell interconnect using MARBLE | |
WO2008010397A1 (fr) | Contrôleur de mémoire | |
JP4599524B2 (ja) | データ処理装置及び方法 | |
JP4102740B2 (ja) | 情報処理装置 | |
JP3752478B2 (ja) | 情報処理装置 | |
JP4733219B2 (ja) | データ処理装置およびデータ処理方法 | |
JP4395600B2 (ja) | データ処理装置及び方法 | |
JP4599525B2 (ja) | データ処理装置およびデータ処理方法 | |
JP4838458B2 (ja) | 半導体装置 | |
JP3411501B2 (ja) | 情報処理装置のデータ転送方法 | |
JP3411500B2 (ja) | 情報処理システム | |
JP3411518B2 (ja) | 情報処理装置 | |
JP3411519B2 (ja) | 情報処理装置 | |
JP3411517B2 (ja) | 情報処理装置 | |
KR940010807B1 (ko) | 정보처리장치용 버스시스템 및 정보처리 버스시스템 컨트롤러용 ic디바이스 | |
JP5028817B2 (ja) | バスシステム | |
JPH10326252A (ja) | 情報処理装置 | |
JPS63175964A (ja) | 共有メモリ | |
JP2001216252A (ja) | 情報処理装置用バスシステム | |
JP2632049B2 (ja) | マルチプロセッサシステム | |
JP2003248653A (ja) | デバイスアクセス回路及びデバイスアクセス方法 | |
JPH08115293A (ja) | 情報処理装置 | |
KR20070057441A (ko) | 듀얼 ahb 마스터 구조의 amba 버스 기반멀티프로세서 시스템 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20031216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040202 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20040308 |
|
A912 | Removal of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20050204 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20051212 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081216 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091216 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101216 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101216 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111216 Year of fee payment: 6 |
|
EXPY | Cancellation because of completion of term | ||
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111216 Year of fee payment: 6 |