JP4599525B2 - データ処理装置およびデータ処理方法 - Google Patents

データ処理装置およびデータ処理方法 Download PDF

Info

Publication number
JP4599525B2
JP4599525B2 JP2010007692A JP2010007692A JP4599525B2 JP 4599525 B2 JP4599525 B2 JP 4599525B2 JP 2010007692 A JP2010007692 A JP 2010007692A JP 2010007692 A JP2010007692 A JP 2010007692A JP 4599525 B2 JP4599525 B2 JP 4599525B2
Authority
JP
Japan
Prior art keywords
bus
processor
memory
data
data processing
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
Application number
JP2010007692A
Other languages
English (en)
Other versions
JP2010134950A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 filed Critical Hitachi Ltd
Priority to JP2010007692A priority Critical patent/JP4599525B2/ja
Publication of JP2010134950A publication Critical patent/JP2010134950A/ja
Application granted granted Critical
Publication of JP4599525B2 publication Critical patent/JP4599525B2/ja
Expired - Lifetime legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ワークステーション、パーソナルコンピュータ、ワードプロセッサ等の情報処理装置に使用されるバスシステムに関する。
情報処理装置内のバスシステムは、メモリバスとシステムバスが個々にプロセッサバスに接続されているか(非特許文献1参照)、又はプロセッサバスとメモリバスが個々にシステムバスに接続されている構成となっていた。
バイト、14巻、12号(1989)、第417頁〜424頁(BYTE,Volume 14,Number 12(1989),pp.417〜424)のL.Brett Glass,"INSIDEEISA"
本発明目的は、システムバス、メモリバス、プロセッサバスの3種のバスが少なくとも3本以上接続され情報処理装置用バスシステムを提供することにある。
前記目的は、その一例として特許請求の範囲に記載の構成により達成できる。
以上、詳述してきた本発明によれば、各種のバスの接続を可能とする。
バスシステムの第1の実施例を示す概略構成図。 従来技術のバスシステムの概略構成図。 従来技術のバスシステムの他の概略構成図。 第1の実施例における三叉路接続コントローラ103の一実施例を示す概略構成図。 第1の実施例における三叉路接続コントローラ103の一実施例におけるデータパススイッチ402の一実施例を示すブロック図。 第1の実施例における三叉路接続コントローラ103の一実施例におけるバス・メモリ接続コントローラ401の一実施例を示すブロック図。 バスシステムの第2の実施例を示す概略構成図。 バスシステムの第3の実施例を示す概略構成図。 図5に示したデータパススイッチ402内のデコーダ510でデコードされるデータパス制御信号420とそのデコード結果の対応を示す図。 プロセッサメインメモリリードの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。 プロセッサメインメモリライトの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。 プロセッサシステムバスデバイスリードの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。 プロセッサシステムバスデバイスライトの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。 DMAリードの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。 DMAライトの場合の状態遷移の各ステップにおけるデータパス制御信号420と各種信号の関係を示す図。 図6に示すバス・メモリ接続コントローラ401内のシーケンサ601の状態遷移の一実施例を示す遷移図。 図9〜図16により規定されるデータ転送の一例を示すタイムチャート図。 図9〜図16により規定されるデータ転送の一例を示す他のタイムチャート図。 図17、図18にあらわれる信号を示した図4における三叉路接続コントローラ103と各バス111、112、113との接続を具体的に示した構成図。
以下、実施例を図面を用いて詳述する。まず、第一の実施例を図1〜図6を用いて説明する。このうち、図2、図3は従来技術におけるバスシステムの構成図を示すが、本願との比較のためここで詳述する。
図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はメモリ接続コントローラである。
図2、図3に示した従来のバスシステムにおいて、図2ではシステムバス113とメモリバス112が各々バス接続コントローラ201とメモリ接続コントローラ202によって、プロセッサバス111に独立に接続される構成となっている。一方、図3ではプロセッサバス111とメモリバス112が各々バス接続コントローラ301とメモリ接続コントローラ302によってシステムバス113に独立に接続される構成となっている。
図2の構成においては、システムバス113の接続デバイス105とメモリバス112上のメインメモリとの間でデータ転送を行うDMA動作において、プロセッサバス111を経由する。そのため、プロセッサ101とキャッシュ102間、あるいは複数のプロセッサ101間のデータ転送等のプロセッサバス111の独立動作をDMA動作と同時に行うことができない。一方、図3の構成においては、プロセッサ101とメインメモリ104との間でデータ転送が行われる、所謂、プロセッサメインメモリアクセスにおいて、システムバス113を経由することになるため、複数のシステムバス接続デバイス105間のデータ転送等のシステムバス113の独立動作をプロセッサメインメモリアクセスと同時に行うことができない。
これに対し、第一の実施例である図1のバスシステムでは、プロセッサバス111、メモリバス112及びシステムバス113の3種のバスが、三叉路接続コントローラ103により、三叉路状に接続された構成を有する。従って、DMA動作の場合、プロセッサバス111を経由しないので、プロセッサバス111の独立動作をDMA動作と同時に実行することができる。又、プロセッサメインメモリアクセスの場合、システムバス113を経由しないので、システムバス113の独立動作をプロセッサメインメモリアクセスと同時に実行することができる。これにより、DMA、プロセッサメインメモリアクセスの場合にも、三種のバスの使用効率を最大にすることができる。
以下、図1に示した第1の実施例のバスシステムと図2、図3に示した従来のバスシステムの性能評価の一例について述べ、第一の実施例の効果を定量的に説明する。
図1、図2、図3のバスシステムにおいて、プロセッサバス111の最大データスループットを400メガバイト/秒、メモリバス112の最大データスループットを400メガバイト/秒、システムバス113の最大データスループットを200メガバイト/秒とする。又、プロセッサバス111におけるメインメモリアクセスの比率を40%、システムバス113におけるDMAの比率を70%、バス接続コントローラ201及び301の最大バス獲得比率を50%とする。以上の条件で、プロセッサバス111とシステムバス113が共に最大データスループットで動作しようとした場合の各バスシステムの性能評価は下記のとおりである。
まず、図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%となる。
次に、図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%となる。
これに対し、第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%となる。
以上の結果を第1表に示した。表1に明らかなように、図1のバスシステムでは、三種のバスの使用効率が最大になることが理解される。
Figure 0004599525
さて、具体的な構成を示す実施例に先立ち、図7、図8を用いて第2、第3の実施例であるバスシステムについて説明する。
図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デバイスである。
図7に示す第2の実施例において、2本のプロセッサバス711、712、メモリバス112及びシステムバス113の三種4本のバスが、四叉路接続コントローラ705によって、四叉路状に接続されている。プロセッサ701及び703は個別のキャッシュメモリシステム702及び704を接続できる単独構成型プロセッサである。このため、プロセッサ701及び703は、各々の個別キャッシュメモリ702及び704へは、プロセッサバスを介さずに直接アクセスすることができるが、プロセッサバスを共有することはできない。
図7において、四叉路接続コントローラ705は、三種4本のバスの接続制御を行うことにより、プロセッサ701、703間の通信を、DMAと並行して行ったり、あるいはプロセッサ701によるメインメモリアクセスと、プロセッサ703によるシステムバスアクセスを並行して行う等の動作を可能としている。
これにより、本実施例においても先の実施例同様、三種4本のバスの使用効率を最大にすることができる。
図8は、図1に示した第1の実施例同様、プロセッサバス111、メモリバス112及びシステムバス113の三種のバスが、三叉路接続コントローラ103により、三叉路上に接続された構成を有する。プロセッサ801は個別のキャッシュメモリシステム(cache)を接続できるマルチ構成型プロセッサである。このため、プロセッサ801の各々は、個別キャッシュメモリ802へはプロセッサバスを介さずにアクセスでき、又、プロセッサバス111を共有することができる。更に、図8の第3の実施例のバスシステムでは、図1と同様に、DMAとプロセッサバス111の独立動作を並行して行う、あるいはプロセッサバス111からのメインメモリアクセスとシステムバス113の動作を並行して行う等の動作が可能であり、これにより第1の実施例と同様に三種のバスの使用効率を最大にすることができる。
続いて上述した実施例の要部の具体的実施例を図4、図5、図6を用いて詳述する。特に図1、図7に示した第一、第三の実施例の三叉路接続コントローラ103の詳細構成を説明するが、図7に示した四叉路接続コントローラ705についても同様に構成できる。
さて、図4は三叉路接続コントローラ103の2個の集積回路による構成図を示している。図4において、三叉路接続コントローラ103には、プロセッサバス111、メモリバス112、システムバス113が接続されている。これらのバスは、各々、アドレスバス411、414、417、制御バス412、415、418、データバス413、416、419によって構成される。本実施例において、三叉路接続コントローラ103は2個の集積回路、即ち、バス・メモリ接続コントローラ401、データパススイッチ402によって構成される。但し、三叉路接続コントローラ103は、1個あるいは3個以上の集積回路によって構成することもできる。
データパススイッチ402は、プロセッサデータバス413、メモリデータバス416、システムデータバス419の3種のデータバスを三叉路状に接続する。そして、バス・メモリ接続コントローラ401から出力されるデータパス制御信号420に従って、3種のデータバス413、416、419の接続、切離し、及びデータ入出力方向の制御を行う。一方、バス・メモリ接続コントローラ401は、プロセッサアドレスバス411、プロセッサ制御バス412、システムアドレスバス417、システム制御バス418が接続される。そして、プロセッサバス111とシステムバス113の状態を監視する。又、メモリアドレスバス414、メモリ制御バス415、及びデータパス制御信号412を出力して、メインメモリ104及びデータパススイッチ402を制御する。データパス制御信号412については後で詳述する。
バス・メモリ接続コントローラ401は、プロセッサバス111からプロセッサメインメモリアクセスが要求された場合、プロセッサバス111とメモリバス112を連動動作させて、システムバス113を独立動作させる。更に、システムバス113からDMAが要求された場合、システムバス113とメモリバス112を連動動作させて、プロセッサバス111を独立動作させる。又、プロセッサバス111からシステムバス113へのアクセス要求、あるいはシステムバス113からプロセッサバス111へのアクセス要求があった場合は、プロセッサバス111とシステムバス113を連動動作させる。又、更にプロセッサバス111からの要求とシステムバス113からの要求が競合する場合、例えば、両方から同時にメモリアクセス要求があった場合などには、いずれか一方のバスに対してウェイト動作を行う等の調停制御を行う機能を持つ。
図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を生成する。
データラッチ501、502、503には各々プロセッサデータバス413、メモリデータバス416、システムデータバス419からの入力データがラッチされる。セレクタ504、505、506は各々プロセッサデータバス413、メモリデータバス416、システムデータバス419への出力データを、他の2種のデータバスからの入力データから選択する。これにより、3種のデータバスのうち任意の1種からの入力データを他の2種のデータバスの両方に出力する、あるいは一方にのみデータ出力して他の一方には出力しないという制御が行うことができる。従って、データパス制御信号420によって、3種のデータバス全ての連動動作、あるいは3種のうち任意の2種の連動動作と他の1種の独立動作を行うことができる。
図6は、図4中のバス・メモリ接続コントローラ401の内部構成の一実施例を示す図である。図6において、601、602、603、604は入出力ドライバ、605、606、607、608はラッチ回路(Latch)である。又、609、610はデコーダ回路、611、612はエンコーダ回路、613は論理演算器であるシーケンサ、614はデコーダ回路である。又、615はセレクタ、616はメモリ制御信号生成部、617はデータパス制御信号生成部である。
プロセッサアドレスバス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の状態を監視することができる。
エンコーダ回路611、612によりエンコードされたプロセッサバス111及びシステムバス113の状態信号は、論理演算器であるシーケンサ613に入力される。シーケンサ613は、2種のバス111、113の状態信号から、各々のバスへの対応、及びメモリバス112の動作を算出し、コード情報として出力する。シーケンサ613は、汎用のマイクロプロセッサや、専用のハード構成で構成される。
シーケンサ613から出力されたコード情報はデコーダ回路614によりデコードされ、入出力ドライバ601、602、603、604の出力イネーブル信号618、619、620、621、セレクタ回路615のセレクト信号622、メモリ制御信号生成部616、データパス制御信号生成部617へのメモリ制御コード623、及びデータパス制御コード624、及び入出力ドライバ602、604をそれぞれ介したプロセッサ制御バス412、システム制御バス418への制御出力信号625、626として出力される。
入出力ドライバ601は、システムバス113からプロセッサバス111へのアクセスが生じた場合に、システムアドレスバス417からの入出力アドレスをプロセッサアドレスバス411に出力する。又、入出力ドライバ602は、プロセッサ制御バス412に、プロセッサバス111の仕様で定められた制御出力信号625を出力する。一方、入出力ドライバ603は、プロセッサバス111からシステムバス113へのアクセスが生じた場合に、プロセッサアドレスバス411からの入出力アドレスをシステムアドレスバス417に出力する。又、入出力ドライバ604は、システム制御バス418に、システムバス113の仕様で定められた制御出力信号626を出力する。
セレクタ回路615は、プロセッサアドレスバス411とシステムアドレスバス417からアドレスが入力され、メモリバス112へのアクセスが生じた場合に、いずれか一方を選択してメモリアドレスバス414に出力する。メモリ制御信号生成部616は、コード変換回路として機能し、デコーダ回路614が出力するメモリ制御コード623をメモリバス112の仕様で定められたメモリ制御信号に変換してメモリ制御バス415に出力する。データパス制御信号生成部617もコード変換回路として機能し、デコーダ回路614が出力するデータパス制御コード624を、データパススイッチ402に対するデータパス制御信号420に変換して出力する。
以上詳述した三叉路接続コントローラ103内のバス・メモリ接続コントローラ401は3種のバスの接続、切離し、ウェイト等の制御を行うことができる。
引き続き、上述した三叉路接続コントローラ103内の各種データ、信号についての一実施例を図9〜図19を用いて詳述する。
図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”)である。
それぞれのエネーブル信号(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の制御をそれぞれ実行でき、三種のバスの接続方向制御が可能となる。
次に、三叉路接続コントローラ103の動作を図4の三叉路接続コントローラ103に接続されるバスを詳細化した図19の構成図と図17、図18のタイミングチャートを用いて説明する。
これらの図において、図1、図4と同一の符号は同一物を意味している。1910、1911はそれぞれ先のシステムバス接続デバイス105に対応するDMAマスタI/Oデバイス、スレーブI/Oデバイスを示す。図19中で、アクノレッジ信号(ACK)1902はプロセッサ101への応答信号であり、リード時はデータの確定を、ライト時はデータの取り込みを示す。
ロウアドレスストローブ信号(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)のときリードを示す。
図16はバスメモリ接続コントローラ401のシーケンサ613の状態遷移の一実施例を示す図である。又、図10〜図15は図16に示した各転送種のそれぞれの状態遷移の複数のステップで出力する信号を示す図であり、それぞれプロセッサメインメモリリード、プロセッサメインメモリライト、プロセッサシステムバスデバイスリード、プロセッサシステムバスデバイスライト、DMAリード、DMAライトに対応する。“○”印が信号のアサートを示し、S−READ1909の“H”,“L”はそれぞれ信号値ハイ、ローを出力する意味である。又、信号名の上部に記載されたバーは信号が負論理であることを意味する。
図16において、図12に対応するプロセッサシステムバスデバイス・リードのステップS2では、システムバススレーブのデータ確定待ちが行われる。図13に対応するプロセッサシステムバスデバイスライトのステップS3では、ライト応答待ちが行われる。図14に対応するDMAリードのステップS1では、S−STB受信待ちが行われ、S−STBを受けたときのリード/ライト判定に従って次のステップS2への遷移先が定まる。又、DMAリードのステップS8、DMAライトのS5では、DMAマスタのS−STBのネゲート待ちが行われる。
図9〜図16により規定される転送のタイムチャートである図17、図18のタイムチャート中に( )で示したものは、各々の信号の出力元である。
即ち、(BMCC)はバスメモリ接続コントローラ401が出力することを、又(I/O)はDMAマスタI/Oデバイス1910、又はプロセッサシステムバスI/OアクセスのスレーブとなったスレーブI/Oデバイス1911をそれぞれ示す。
さて、図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にラッチされたデータを示す。
図13で示したプロセッサシステムバスデバイスライトのステップS3では、S−ACKアサート待ちによるウェイトが1サイクル入っている。又、図12で示したプロセッサシステムバスデバイスリードのステップS2で、S−ACKアサート待ちによりウェイトが2サイクル入っている。そして、図14に示したDMAリードのステップS1でS−STBアサート待ちによるウェイトが1サイクル、ステップS3でS−STBネゲート待ちによるウェイトが1サイクル入っていることが図16から明らかである。
図18で、DMAライトのステップS1では、やはりS−STBアサート待ちによるウェイトが1サイクル入っているが、ステップS5でのネゲート待ちはノーウェイトで実行されている。
以上、詳述してきた図9〜図18に示した方法で、図4、図5、図6のバスメモリ接続コントローラ401、データパススイッチ402を動作させることで、図1に示した三叉路接続コントローラ103の一実施例の動作が理解された。
図7に示した四叉路接続コントローラ705などの構成、動作について、ここでは詳述しないが、上述の三叉路接続コントローラの構成・動作から容易に理解される。
又、上述した図4以下の説明においては、プロセッサバス111、メモリバス112、システムバス113が全てアドレス・データ分離型バスになっているが、本発明は、アドレス・データ多重型バスにも適用できることは言うまでもない。例えば、プロセッサバス111とシステムバス113がアドレス・データ多重化バスである場合には、図4において、プロセッサアドレスバス411とプロセッサデータバス413、及びシステムアドレスバス417とシステムデータバス419が各々1本のバスになり、バス・メモリ接続コントローラ401とデータパススイッチ402の両方に接続されることになる。その他、本発明の基本概念の下、上述した実施例にかかわらず、数々の変形がなされうることは言うまでもない。
情報処理装置内のバスシステムは、メモリバスとシステムバスが個々にプロセッサバスに接続されているか(非特許文献1参照)、又はプロセッサバスとメモリバスが個々にシステムバスに接続されている構成となっていた。
前者は、システムバスとメモリバスが連動動作するいわゆるダイレクトメモリアクセス(Direct Memory Access,以下DMA)の際に、プロセッサバスが独立動作ができないため、プロセッサバスの使用効率が悪くなる。一方、後者は、プロセッサバスとメモリバスが連動動作する、いわゆるメインメモリアクセスの際にシステムバスが独立動作できないため、システムバスの使用効率が悪くなるという問題があった。
尚、これらの従来のバスシステムの構成と問題点については、図面を用いて詳述した。
本発明の目的は、各バスの使用効率を最大とする情報処理装置のバスシステムを提供することにある。
本発明の他の目的は、プロセッサバスとメモリバスの連動動作とシステムバスの独立動作を同時に行うことが可能なバスシステムを提供することにある。
本発明の更なる目的は、システムバスとメモリバスの連動動作とプロセッサバスの独立動作を同時に行うことが可能なバスシステムを提供することにある。
本発明の更なる他の目的は、システムバス、メモリバス、プロセッサバスの3種のバスが少なくとも3本以上相互接続される場合の、各バスの使用効率を最大とする情報処理装置用バスシステムを提供することにある。
上記目的を達成するため、本発明においては、第1バス、第2バス、第3バスの3つのバスを少なくとも三叉路状に接続し、3種のバスのうち、任意の2つを連動動作している間、他のバスが独立動作可能な構成とする。
即ち、本発明においては、プロセッサと、主メモリと、入出力デバイスと、該プロセッサと接続した第1バスと、該主メモリに接続した第2バスと、該入出力デバイスと接続した第3バスとを有する情報処理装置において、該第1バスと該第2バスと該第3バスとが接続され、前記プロセッサと前記主メモリと前記入出力デバイスの任意の2つ間でデータ転送を可能とする接続手段を有し、該接続手段は、接続された前記第1バスと前記第2バスを用い、前記プロセッサと前記主メモリとの間で第1のデータ信号を転送する第1のデータ転送モードと、接続された前記第2バスと前記第3バスを用い、前記主メモリと前記入出力デバイスとの間で第2のデータ信号を転送する第2のデータ転送モードと、接続された前記第3バスと前記第1バスを用い、前記入出力デバイスと前記プロセッサとの間で第3のデータ信号を転送する第3のデータ転送モードとからなる、それぞれ独立したデータ転送モードを可能とすることを特徴とする情報処理装置である。
これにより、3種のバスの使用効率を最大限に高めることができる。
また、上記目的を達成するため、本発明においては、プロセッサバス、メモリバス、システムバスの3種のバスを少なくとも三叉路状に接続し、3種のバスのうち、任意の2種を連動動作している間、他の1種のバスが独立動作可能な構成とする。
即ち、本発明においては、少なくとも一個のプロセッサが接続されたプロセッサバス、メインメモリに接続されたメモリバス、少なくとも一個の入出力デバイス(以下I/Oデバイス)などの接続デバイスが接続されたシステムバスの3種のバスを少なくとも三叉路接続するコントロール手段を設け、このコントロール手段により、各種のバスの相互接続を可能とする。
即ち、本発明においては、情報処理装置のバスシステムを、少なくとも一個のプロセッサが接続されたプロセッサバスと、メインメモリに接続されたメモリバスと、少なくとも一個の接続デバイスが接続されたシステムバスと、これら3種のバスが接続され、これら3種のバスの相互接続のための接続コントロール手段とで構成する。
本発明では、この接続コントロール手段は、三種のバスのそれぞれのデータバスが接続され、これらバス上のデータを相互に転送するデータパススイッチング手段と、三種のバスのそれぞれの制御バスとアドレスバスが接続され、これらバス上のコントロール信号及びアドレスを相互に転送すると共に、データパススイッチング手段へのデータパス制御信号を発生するバス・メモリ接続コントローラから構成される。
好適にはこのデータパススイッチング手段とバス・メモリ接続コントローラはそれぞれ単独に、あるいは一体として、一つの集積回路上に構成される。
更に、本発明においては、三種のバスはそれぞれ一本でなく、三種のバスのいずれかが複数本の場合においても同様に接続コントロール手段を構成し、これらのバスの相互接続を可能とすることができる。
上述した本発明の構成において、プロセッサバス、メモリバス、システムバスの3種のバスが少なくとも三叉路状に相互に接続されることにより、例えばプロセッサバス上のプロセッサからメモリバス上の主記憶メモリへアクセスするプロセッサメインメモリアクセスの場合に、データはプロセッサバスとメモリバスのみ介して転送され、システムバスを経由しないため、システムバスは独立に動作することが可能となる。一方、システムバス上の接続デバイスからメモリバス上の主記憶メモリへアクセスするDMAの場合、データはシステムバスとメモリバスのみ介して転送され、プロセッサバスを経由しないので、プロセッサバスは独立して動作することが可能となる。
これにより、3種のバスの使用効率を最大限に高めることができる。
以上、詳述してきた本発明によれば、少なくとも3種のバスの内、任意の2本が連動動作している間、他の1本以上のバスが独立動作することができるので、各バスの使用効率を最大にするという効果がある。特に、プロセッサバス上に複数のプロセッサが接続されている場合、又はキャッシュメモリシステムが接続されている場合等に、DMA動作と複数プロセッサ間、又はプロセッサとキャッシュメモリシステム間のデータ転送を同時に行え、又、プロセッサメインメモリアクセスと複数のシステムバス接続デバイス間のデータ転送を同時に行えるなどの効果がある。
101…N個のプロセッサ、
102…キャッシュメモリシステム、
103…三叉路接続コントローラ、
104…メインメモリ、
105…M個のシステムバス接続デバイス、
111…プロセッサバス、
112…メモリバス、
113…システムバス。

Claims (20)

  1. データ処理装置であって、
    第1の仕様に従って動作するプロセッサバスと、
    前記プロセッサバスに接続されるプロセッサと、
    第2の仕様に従って動作するメモリバスと、
    前記メモリバスに接続されるメモリと、
    第3の仕様に従って動作するシステムバスと、
    前記システムバスに接続される第1のデバイスと、
    前記システムバスに接続される第2のデバイスと、
    前記プロセッサバス、前記メモリバス及び前記システムバスに接続されるコントローラと、
    を有し、
    前記コントローラは、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバスと前記メモリバスとを使用して、前記プロセッサと前記メモリとの間で双方向にデータを転送する第1の転送モードと、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバスと前記システムバスとを使用して、前記メモリと前記デバイスとの間で双方向にデータを転送する第2の転送モードと、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバスと前記プロセッサバスとを使用して、前記第1のデバイスまたは前記第2のデバイスの少なくとも1つと、前記プロセッサとの間で双方向にデータを転送する第3の転送モードと、
    を有することを特徴とするデータ処理装置。
  2. データ処理装置であって、
    プロセッサと接続可能な、第1の仕様に従って動作するプロセッサバスと、
    メモリと接続可能な、第2の仕様に従って動作するメモリバスと、
    第1のデバイス及び第2のデバイスと接続可能な、第3の仕様に従って動作するシステムバスと、
    前記プロセッサバス、前記メモリバス及び前記システムバスに接続されるコントローラと、
    を有し、
    前記コントローラは、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバスと前記メモリバスとを使用して、前記プロセッサと前記メモリとの間で双方向にデータを転送する第1の転送モードと、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバスと前記システムバスとを使用して、前記メモリと前記デバイスとの間で双方向にデータを転送する第2の転送モードと、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバスと前記プロセッサバスとを使用して、前記第1のデバイスまたは前記第2のデバイスの少なくとも1つと、前記プロセッサとの間で双方向にデータを転送する第3の転送モードと、
    を有することを特徴とするデータ処理装置。
  3. 請求項1または2に記載のデータ処理装置であって、
    前記第1の転送モードにおいて、前記プロセッサと前記メモリとの間で双方向にデータを転送している場合に、前記第1のデバイスと前記第2のデバイスとの間でデータを転送する
    ことを特徴とするデータ処理装置。
  4. 請求項1または2に記載のデータ処理装置であって、
    前記第1の転送モードにおいて、前記プロセッサと前記メモリとの間で双方向にデータを転送している場合に、前記システムバスは独立動作可能であり、前記第1のデバイスと前記第2のデバイスとの間でデータを転送する
    ことを特徴とするデータ処理装置。
  5. 請求項1〜4のいずれか1項に記載のデータ処理装置であって、
    前記第1のデバイスは、ディスクコントローラまたはファイルコントローラのいずれかであり、前記第2のデバイスは、ネットワークコントローラまたは通信コントローラのいずれかである
    ことを特徴とするデータ処理装置。
  6. 請求項1〜4のいずれか1項に記載のデータ処理装置であって、
    前記第1のデバイスは、ディスクコントローラまたはファイルコントローラのいずれかであり、前記第2のデバイスは、描画コントローラまたは表示コントローラのいずれかである
    ことを特徴とするデータ処理装置。
  7. 請求項1〜4のいずれか1項に記載のデータ処理装置であって、
    前記第1のデバイスは、ネットワークコントローラまたは通信コントローラのいずれかであり、前記第2のデバイスは、描画コントローラまたは表示コントローラのいずれかである
    ことを特徴とするデータ処理装置。
  8. 請求項1〜のいずれか1項に記載のデータ処理装置であって、
    前記第1の転送モードでデータを転送している場合は、前記システムバスに該データは出力されず、
    前記第2の転送モードでデータを転送している場合は、前記プロセッサバスに該データは出力されず、
    前記第3の転送モードでデータを転送している場合は、前記メモリバスに該データは出力されない、
    ことを特徴とするデータ処理装置。
  9. 請求項1〜のいずれか1項に記載のデータ処理装置であって、
    前記第1の転送モードでデータを転送している場合は、前記システムバスは独立動作可能であり、
    前記第2の転送モードでデータを転送している場合は、前記プロセッサバスは独立動作可能であり、
    前記第3の転送モードでデータを転送している場合は、前記メモリバスは独立動作可能である、
    ことを特徴とするデータ処理装置。
  10. 請求項1〜のいずれか1項に記載のデータ処理装置であって、
    前記信号は制御信号であることを特徴とするデータ処理装置。
  11. データ処理装置におけるデータ処理方法であって、
    前記データ処理装置は、
    第1の仕様に従って動作するプロセッサバスと、
    前記プロセッサバスに接続されるプロセッサと、
    第2の仕様に従って動作するメモリバスと、
    前記メモリバスに接続されるメモリと、
    第3の仕様に従って動作するシステムバスと、
    前記システムバスに接続される第1のデバイスと、
    前記システムバスに接続される第2のデバイスと、
    前記プロセッサバス、前記メモリバス及び前記システムバスに接続されるコントローラと、
    を有し、
    前記コントローラは、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバスと前記メモリバスとを使用して、前記プロセッサと前記メモリとの間で双方向にデータを転送する第1の転送モード、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバスと前記システムバスとを使用して、前記メモリと前記デバイスとの間で双方向にデータを転送する第2の転送モード、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバスと前記プロセッサバスとを使用して、前記第1のデバイスまたは前記第2のデバイスの少なくとも1つと、前記プロセッサとの間で双方向にデータを転送する第3の転送モード、
    のいずれか1つによりデータを転送することを特徴とするデータ処理方法。
  12. データ処理装置におけるデータ処理方法であって、
    前記データ処理装置は、
    プロセッサと接続可能な、第1の仕様に従って動作するプロセッサバスと、
    メモリと接続可能な、第2の仕様に従って動作するメモリバスと、
    第1のデバイス及び第2のデバイスと接続可能な、第3の仕様に従って動作するシステムバスと、
    前記プロセッサバス、前記メモリバス及び前記システムバスに接続されるコントローラと、
    を有し、
    前記コントローラは、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記プロセッサバスと前記メモリバスとを使用して、前記プロセッサと前記メモリとの間で双方向にデータを転送する第1の転送モード、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記メモリバスと前記システムバスとを使用して、前記メモリと前記デバイスとの間で双方向にデータを転送する第2の転送モード、
    前記プロセッサバス、前記メモリバス及び前記システムバスの内、前記システムバスと前記プロセッサバスとを使用して、前記第1のデバイスまたは前記第2のデバイスの少なくとも1つと、前記プロセッサとの間で双方向にデータを転送する第3の転送モード、
    のいずれか1つによりデータを転送することを特徴とするデータ処理方法。
  13. 請求項11または12に記載のデータ処理方法であって、
    前記第1の転送モードにおいて、前記プロセッサと前記メモリとの間で双方向にデータを転送している場合に、前記第1のデバイスと前記第2のデバイスとの間でデータを転送する
    ことを特徴とするデータ処理方法。
  14. 請求項11または12に記載のデータ処理方法であって、
    前記第1の転送モードにおいて、前記プロセッサと前記メモリとの間で双方向にデータを転送している場合に、前記システムバスは独立動作可能であり、前記第1のデバイスと前記第2のデバイスとの間でデータを転送する
    ことを特徴とするデータ処理方法。
  15. 請求項1114のいずれか1項に記載のデータ処理方法であって、
    前記第1のデバイスは、ディスクコントローラまたはファイルコントローラのいずれかであり、前記第2のデバイスは、ネットワークコントローラまたは通信コントローラのいずれかである
    ことを特徴とするデータ処理方法。
  16. 請求項1114のいずれか1項に記載のデータ処理方法であって、
    前記第1のデバイスは、ディスクコントローラまたはファイルコントローラのいずれかであり、前記第2のデバイスは、描画コントローラまたは表示コントローラのいずれかである
    ことを特徴とするデータ処理方法。
  17. 請求項11〜14のいずれか1項に記載のデータ処理方法であって、
    前記第1のデバイスは、ネットワークコントローラまたは通信コントローラのいずれかであり、
    前記第2のデバイスは、描画コントローラまたは表示コントローラのいずれかである
    ことを特徴とするデータ処理方法。
  18. 請求項1117のいずれか1項に記載のデータ処理方法であって、
    前記第1の転送モードでデータを転送している場合は、前記システムバスに該データは出力されず、
    前記第2の転送モードでデータを転送している場合は、前記プロセッサバスに該データは出力されず、
    前記第3の転送モードでデータを転送している場合は、前記メモリバスに該データは出力されない、
    ことを特徴とするデータ処理方法。
  19. 請求項1118のいずれか1項に記載のデータ処理方法であって、
    前記第1の転送モードでデータを転送している場合は、前記システムバスは独立動作可能であり、
    前記第2の転送モードでデータを転送している場合は、前記プロセッサバスは独立動作可能であり、
    前記第3の転送モードでデータを転送している場合は、前記メモリバスは独立動作可能である、
    ことを特徴とするデータ処理方法。
  20. 請求項1119のいずれか1項に記載のデータデータ処理方法であって、
    前記信号は制御信号であることを特徴とするデータ処理方法。
JP2010007692A 2010-01-18 2010-01-18 データ処理装置およびデータ処理方法 Expired - Lifetime JP4599525B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010007692A JP4599525B2 (ja) 2010-01-18 2010-01-18 データ処理装置およびデータ処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010007692A JP4599525B2 (ja) 2010-01-18 2010-01-18 データ処理装置およびデータ処理方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2009186221A Division JP4599524B2 (ja) 2009-08-11 2009-08-11 データ処理装置及び方法

Publications (2)

Publication Number Publication Date
JP2010134950A JP2010134950A (ja) 2010-06-17
JP4599525B2 true JP4599525B2 (ja) 2010-12-15

Family

ID=42346112

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010007692A Expired - Lifetime JP4599525B2 (ja) 2010-01-18 2010-01-18 データ処理装置およびデータ処理方法

Country Status (1)

Country Link
JP (1) JP4599525B2 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62501454A (ja) * 1984-12-10 1987-06-11 アドバンスト・コンピュ−タ−・コミュニケ−ションズ マルチポ−トのランダムアクセスメモリを用いる通信コントロ−ラ

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT1206331B (it) * 1983-10-25 1989-04-14 Honeywell Inf Systems Architettura di sistema di elaborazione dati.
JPS63286949A (ja) * 1987-05-20 1988-11-24 Hitachi Ltd バス制御方式
JPH01134652A (ja) * 1987-11-20 1989-05-26 Hitachi Ltd データ処理システム
JPH02128250A (ja) * 1988-11-08 1990-05-16 Nec Ibaraki Ltd 情報処理装置のアクセス制御回路

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62501454A (ja) * 1984-12-10 1987-06-11 アドバンスト・コンピュ−タ−・コミュニケ−ションズ マルチポ−トのランダムアクセスメモリを用いる通信コントロ−ラ

Also Published As

Publication number Publication date
JP2010134950A (ja) 2010-06-17

Similar Documents

Publication Publication Date Title
JPH04227557A (ja) 情報処理装置
JP4895183B2 (ja) メモリコントローラ
Bainbridge et al. Asynchronous macrocell interconnect using MARBLE
US7721038B2 (en) System on chip (SOC) system for a multimedia system enabling high-speed transfer of multimedia data and fast control of peripheral devices
US20140201407A1 (en) Interconnect, bus system with interconnect and bus system operating method
US7865644B2 (en) Method and apparatus for attaching multiple slave devices to a single bus controller interface while supporting command pipelining
US20070101032A1 (en) Bus arbitration circuit and bus arbitration method
JP4599524B2 (ja) データ処理装置及び方法
JP4599525B2 (ja) データ処理装置およびデータ処理方法
JP4102740B2 (ja) 情報処理装置
JP4395600B2 (ja) データ処理装置及び方法
JP3752478B2 (ja) 情報処理装置
JP4733219B2 (ja) データ処理装置およびデータ処理方法
JP4684577B2 (ja) 高速の帯域幅のシステムバスを仲裁するためのバスシステム及びその方法
JP4838458B2 (ja) 半導体装置
JP3411518B2 (ja) 情報処理装置
JP3411501B2 (ja) 情報処理装置のデータ転送方法
JP3411519B2 (ja) 情報処理装置
JP3411500B2 (ja) 情報処理システム
JP3411517B2 (ja) 情報処理装置
KR940010807B1 (ko) 정보처리장치용 버스시스템 및 정보처리 버스시스템 컨트롤러용 ic디바이스
KR100961965B1 (ko) 버스 시스템과 이를 이용한 데이터 전송 방법
JP5028817B2 (ja) バスシステム
JP2003085125A (ja) メモリ制御器及びメモリ制御方法
JP4521410B2 (ja) ディスクアレイ制御装置

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100525

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100726

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100817

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100830

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

Free format text: PAYMENT UNTIL: 20111008

Year of fee payment: 1

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

Free format text: PAYMENT UNTIL: 20111008

Year of fee payment: 1

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111008

Year of fee payment: 1