JP3866873B2 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP3866873B2 JP3866873B2 JP03973899A JP3973899A JP3866873B2 JP 3866873 B2 JP3866873 B2 JP 3866873B2 JP 03973899 A JP03973899 A JP 03973899A JP 3973899 A JP3973899 A JP 3973899A JP 3866873 B2 JP3866873 B2 JP 3866873B2
- Authority
- JP
- Japan
- Prior art keywords
- bus
- module
- identifier
- access
- response
- 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)
- Information Transfer Systems (AREA)
Description
【産業上の利用分野】
本発明は、パーソナルコンピュータ、ワークステーション等の情報処理装置に係わり、特に、システムバスとしてアドレスとデータが多重化され、リードアクセス動作の起動サイクルと応答サイクルが、間に別の転送を挿入することで分離が可能であるスプリット転送プロトコルをサポートした情報処理装置、コンピュータシステムに関する。
【0002】
【従来の技術】
上記技術分野においては従来、システムバスとして、例えば、「Futurebus+ P896.1 Logical Layer Specifications」(1990,IEEE)などのように、リードアクセス動作の起動サイクルと応答サイクルが、間に別の転送を挿入することで分離が可能であるスプリット転送プロトコルをサポートしたバスが多く用いられている。その理由としては、リードアクセス動作の起動サイクルと応答サイクルの間に他のモジュールの転送の挿入を可能とすることで、バスの使用効率および応答性を向上させることが挙げられる。
【0003】
因みに、スプリット転送の典型的なタイミング例を図13に示して説明する。図13は従来のスプリットリードアクセスタイミング例で、ADDT[0:63]は8バイト幅の多重化されたアドレス/データバス、ADRVはアドレス/データバスADDT[0:63]上に有効なアドレスが出力されていることを示すアドレスバリッド信号、DATAVはアドレス/データバスADDT[0:63]上に有効なデータが出力されていることを示すデータバリッド信号である。Futurebus+などの従来のバスでスプリットリードアクセスを行う場合には、まず起動元のモジュールがバス使用権を獲得した後、アドレスバリッド信号ADRVを有効にし、アクセス先のアドレスをADDT[0:63]で指定する。そのとき同時に、モード指定制御信号線により現在起動中のアクセスがスプリットリードアクセスであることをアクセス先モジュールに伝える(1301のタイミング)。この後、バス使用権を放棄し、起動サイクルを終了する。一方、この起動を受け取ったアクセス先のモジュールはリードデータが準備できた時点で、バス使用権を獲得し、アドレスバリッド信号ADRVを有効にし、アクセス先のアドレスをADDT[0:63]で指定する。そのとき同時に、モード指定制御信号線により現在起動中の転送がスプリットリードアクセスの応答であることを起動元モジュールに伝える(1302のタイミング)。次に、データバリッド信号DATAVを有効にし、ADDT[0:63]上に有効なリードデータを出力する。この後、アクセス先のモジュールはバス使用権を放棄し、応答サイクルを終了する。起動元のモジュールは、アクセス先のモジュールが出力するモード指定制御信号線およびアクセス先のアドレスにより、自分の起動したアクセスに対する応答であることを判断し、その応答データを取り込むという一連の制御を行っていた。
【0004】
【発明が解決しようとする課題】
上記従来の技術では、スプリット転送プロトコルがプロセッサバスでサポートされ、更にプロセッサバスに階層的に接続され、入出力装置が接続されるバスでは採用されていない。一般的に、情報処理装置を構成するIOの中には、アクセス時間の比較的早いIOと遅いIOが同じバスに接続されるため、接続されるモジュールにより比較的アクセス時間に差がないプロセッサバスに採用されているスプリット転送プロトコルを単純に採用すると、各IOのアクセス時間の相違により、リードアクセスの応答の順序が保証できないという問題がある。
【0005】
本発明の目的は、このような問題を解決し、バスの使用効率を向上、応答時間を減少させることにより、高性能な情報処理装置を提供することにある。
【0006】
より具体的には、バスアダプターを介して階層的に接続された複数のバスの夫々がスプリット転送プロトコルを採用することで各バスの使用効率を向上させることが可能ならしめると共に、応答データの順序を保証することが可能な情報処 理システムを提供することにある。
【0007】
【課題を解決するための手段】
上記目的を達成するため本発明は、バスに接続できる各モジュールにモジュールIDを指定する手段を設ける。さらに、少なくとも2つ以上階層的に接続した複数バス構造のシステムにおいては、モジュールIDを他の階層のバス上に存在する個々のモジュールに対しても割り付ける。そして、他の階層のバス上に存在するモジュールからのアクセスをシステムバス上に流す場合、インタフェースをとるアダプタに、そのモジュールに対して割り付けられたシステムバス上のモジュールIDを付加してリードアクセスの起動をかける手段を設ける。一方、起動をかけたモジュールが応答を受け取る場合、付加されたモジュールIDに従い、他の階層のバス上に存在するモジュールにさかのぼって応答を返す手段を設ける。
【0008】
【作用】
階層的に複数のバスを接続するバスアダプタは、リード要求とリード要求に対する応答を対応付けることで、プロセッサは他の階層のバス上に存在するモジュールに対するリード要求を発行するに際し、階層的に接続される複数のバスのそれぞれでサポートされるスプリット転送プロトコルに従い、リード要求に対する入出力装置からの応答を待つことなく、他のリード要求を発行することができるので、バス使用効率を向上させ、情報処理装置全体として応答時間を減少させることができる。
【0009】
【実施例】
近年、小型化、低価格化のため、バスの信号線を削減を図り、アドレスとデータを多重化したバスが多くなってきている。この場合、図13の従来例のように、スプリットリードアクセスの応答転送時に、アクセス先のアドレスを出力するサイクルを設けると、アドレスとデータの多重化により、アドレスサイクル分だけ余計にバスを占有することになり、バスの使用効率低下や応答時間の増大を招 くという問題が生じる。そこで、まず、本発明において採用され、バスの使用効率向上、応答時間の短縮を可能とするスプリット転送のプロトコルを簡単に説明する。図1は、本発明のスプリットリードアクセスタイミングを示す図である。本実施例においては、アクセス先のアドレスを出力するサイクルを削除し、それをリードデータを受取る識別子(モジュールID)で代用している。起動サイクルは図13の従来例と同様、まず起動元のモジュールがバス使用権を獲得した後、アドレスバリッド信号ADRVを有効にし、アクセス先のアドレスをADDT[0:63]で指定する。そのとき同時に、モード指定制御信号線により現在起動中のアクセスがスプリットリードアクセスであることをアクセス先モジュールに伝える(105のタイミング)。この後、バス使用権を放棄し、起動サイクルを終了する。一方、この起動を受け取ったアクセス先のモジュールはリードデータが準備できた時点で、バス使用権を獲得した後、いきなりデータバリッド信号DATAVを有効にし、ADDT[0:63]上に有効なリードデータを出力する。そのとき同時に、モード指定制御信号線により現在起動中の転送がスプリットリードアクセスの応答であることを起動元モジュールに伝える(106のタイミング)。この後、アクセス先のモジュールはバス使用権を放棄し、応答サイクルを終了する。起動元のモジュールは、アクセス先のモジュールが出力するモード指定制御信号線およびアクセス元のモジュールを表すモジュールID(SINKMOD:スプリットリードの応答先モジュールの識別子)により、自分の起動したアクセスに対する応答であることを判断し、その応答データを取り込むという一連の制御を行う。本実施例のように、SINKMODが4ビットあれば16モジュールを指定できる。具体的には、図2に示すように、バスに接続されるバスアダプタ毎に1つずつモジュールIDが割り当てられる。図2は、階層バス構造をとったシステム構成例で、201、202は高速プロセッサバス、203、204は高速プロセッサバスとのインタフェースを行うバスアダプタ、205はシステムバス、206、207、208はIOバスとのインタフェースを行うバスアダプタ、209、210、211はIOバスである。本実施例ではバスアダプタ203、204、206、207、208にそれぞれ”0”、”1”、”2”、”3”、”4”のようにバスアダプタ毎に1つずつモジュールIDが割り当てられている。
【0010】
ところで、情報処理装置の多くは、階層バス構造をとったシステム構成になる。図3は、このときのスプリットリードアクセスのデータの流れ図を示した図で、301、302、303はプロセッサ(P1、P2、P3)、304はマルチプロセッサ対応のプロセッサバス、305はプロセッサバス304とシステムバス307のインタフェースを行うバスアダプタ、306はメインメモリ、307はシステムバス、308はシステムバス307とIOバス311のインタフェースを行うバスアダプタ、309はシステムバス307とIOバス312のインタフェースを行うバスアダプタ、310はシステムバス307とIOバス313のインタフェースを行うバスアダプタ、311、312、313はIOバス、314、315はIOバス311上のIO、316、317は3IOバス312上のIO、318、319はIOバス313上のIOである。ここで、バスアダプタ毎に1つずつモジュールIDが割り当てると、例えば、バスアダプタ305には”0”、バスアダプタ308には”1”、バスアダプタ309には”2、”バスアダプタ310には”3”のようになる。このとき、プロセッサ1、プロセッサ2、プロセッサ3は独立にシステムバスにつながっているIOに対して独立にリード要求を発行する。このとき、図3のようなバスシステムにおいては、モジュールIDを無制限にシステムバス307上に発行していくと、もしアクセスしようとしているIOバス311がスプリット転送をサポートしているとアクセス時間の早いIOからの応答が先に返ってくる可能性があり、モジュールIDを参照しただけでは、アクセスの順序が保証できないという問題がある(本例では応答サイクルのSINKMODはすべて”0”で返ってくる)。すなわち、他の階層のバスが上記従来のバスと同様にスプリット転送プロトコルをサポートしていると、応答データの順序を保証するために、1つのバスアダプタから1つのリード要求しか発行できなくなる。これは特にマルチプロセッサシステムの場合などに生じる。
【0011】
以下、本発明のスプリット転送プロトコルを用いたマルチプロセッサシステムにおいて、それぞれのプロセッサが行うI/Oアクセスを連続してシステムバス上に発行し、並列化することで、このような問題をさらに解決する例を説明する。
図4は本実施例のシステム構成のブロック図で、401、402、403はプロセッサ(P1、P2、P3)、404はマルチプロセッサ対応のプロセッサバス、405はプロセッサバス404とシステムバス407のインタフェースを行うバスアダプタ、406はメインメモリ、407はシステムバス、408はシステムバス407とIOバス411のインタフェースを行うバスアダプタ、409はシステムバス407とIOバス412のインタフェースを行うバスアダプタ、410はシステムバス407とIOバス413のインタフェースを行うバスアダプタ、411、412、413はIOバス、414、415はIOバス411上のIO、416、417はIOバス412上のIO、418、419はIOバス413上のIOである。ここで、システムバス接続可能なバスアダプタ数を4とする。ただし、本発明では、モジュール識別子として、4ビット割り付けるとする。これにより、論理的には、16のモジュールを識別できることになる。本発明では、プロセッサ401には”0”、プロセッサ402には”1”、プロセッサ403には”2”、メインメモリ406には”3”、バスアダプタ408には”4”、バスアダプタ409には”5”、バスアダプタ410には”6”のようにモジュールIDを割り振る。アダプタ405は、プロセッサ401から403からのIOアクセス要求を、各プロセッサ1つ以内なら並列してシステムバス407上に発行する。
【0012】
図5は、図4のシステム構成でのアクセスタイムチャートを示すもので、プロセッサ401から403からのアクセス先がすべてモジュール408とし、プロセッサ401から403からのアクセス先のIOのアクセスタイムがそれぞれ12、9、6サイクルであると仮定したときのものである。サイクル501はリードの起動サイクルで、バスマスタはバスアダプタ405、リードデータの応答先であるSINKMODは”0”(起動元はプロセッサ401であることを示す)を示している。サイクル502はリードの起動サイクルで、バスマスタはバスアダプタ5、リードデータの応答先であるSINKMODは”1”(起動元はプロセッサ402であることを示す)を示している。
【0013】
サイクル503はリードの起動サイクルで、バスマスタはバスアダプタ405、リードデータの応答先であるSINKMODは”2”(起動元はプロセッサ403であることを示す)を示している。サイクル504はリードの応答サイクルで、バスマスタはバスアダプタ408、リードデータの応答先であるSINKMODは”2”を示している。このとき、バスアダプタ405はSINKMODの”2”をみて、取り込んだデータをプロセッサ403に返すような制御を行う。このときのデータの流れを図8に示す。
【0014】
サイクル505はリードの応答サイクルで、バスマスタはバスアダプタ408、リードデータの応答先であるSINKMODは”1”を示している。このとき、バスアダプタ405はSINKMODの”1”をみて、取り込んだデータをプロセッサ402に返すような制御を行う。このときのデータの流れを図7に示す。
【0015】
サイクル506はリードの応答サイクルで、バスマスタはバスアダプタ408、リードデータの応答先であるSINKMODは”0”を示している。このとき、バスアダプタ405はSINKMODの”0”をみて、取り込んだデータをプロセッサ401に返すような制御を行う。このときのデータの流れを図6に示す。
【0016】
また、メインメモリにモジュールIDを割り振れば、DMA(ダイレクトメモリアクセス)の指定も容易になる(図9)。
【0017】
ここで本発明のスプリットリード競合時のサイクル数を図10に示す。(a)はシステムバスがスプリット転送をサポートしていない場合のサイクル数、(b)はシステムバスがスプリット転送プロトコルを用いた場合のサイクル数である。1001、1007はプロセッサ1のIOアクセスの起動サイクル、1002、1008はプロセッサ1のIOアクセスの応答サイクル、1003、1009はプロセッサ1のIOアクセスの起動サイクル、1004、1010はプロセッサ1のIOアクセスの応答サイクル、1005、1011はプロセッサ1のIOアクセスの起動サイクル、1006、1012はプロセッサ1のIOアクセスの応答サイクルである。このように、図10上図のように、同一アダプタからの複数リードの起動が許さないと、すべてのリードアクセスがシリアライズされ、合計27サイクルかかる。一方、図10下図のように、並列起動が行えば、12サイクルとなり、リードアクセスの応答性がさらに向上する。
【0018】
ところで、上記実施例の説明においては、スプリットリードアクセスの応答先をSINKMODという識別子で示したが、他の実施例として、スプリットリードアクセスの応答元の識別子を本発明の応答先と同様に指定できるようにすると、応答先の識別子(SINKMOD)が同一であっても識別子の異なる複数の応答元に対して、同時にスプリットリード要求を発行することも可能となる。その場合の応答元識別子は、図11、図12に示すように、IO414、IO415にそれぞれモジュールID”7”、”8”を割付け、その応答元識別子の情報により、バスアダプタ405が順序保証をする制御を行えば良い。
【0019】
マルチプロセッサシステム等においても、それぞれのプロセッサが行うI/Oアクセスを少ないピン数で同様に処理できる。また、本発明によれば、転送時に指定するモジュールIDは、物理的なアダプタと全く切り離して設定することができるため、必要度の高いモジュールに集中的にモジュールIDを割り当てることができ、システムに対応できる柔軟性を高めるという効果がある。
【0020】
【発明の効果】
本発明によれば、それぞれのモジュールが行うアクセスを、アクセスの順序が保証をしながら、連続してシステムバス上に発行し、並列処理することができ、システムバスのアクセスの応答時間の低減が図れるという効果がある。
【図面の簡単な説明】
【図1】本発明の第1の実施例のバスプロトコルによるスプリットリードアクセスのデータの流れ図。
【図2】階層バスシステムの構成例。
【図3】第1の実施例をそのまま階層バスシステムに用いたときのバスプロトコルによるスプリットリードアクセスのデータの流れ図。
【図4】本発明の第2の実施例のシステム構成のブロック図。
【図5】本発明の第2の実施例のスプリットリードアクセス競合タイムチャート。
【図6】本発明の第2の実施例のデータの流れ図21)。
【図7】本発明の第2の実施例のデータの流れ図22)。
【図8】本発明の第2の実施例のデータの流れ図23)。
【図9】本発明の第2の実施例のデータの流れ図24)。
【図10】スプリットリード競合時のサイクル数を示す図。
【図11】本発明の第3の実施例のデータの流れ図31)。
【図12】本発明の第3の実施例のデータの流れ図32)。
【図13】従来のバスプロトコルによるスプリットリードアクセスのデータの流れ図。
【符号の説明】
401,402,403…プロセッサ、
404…プロセッサバス、
405…バスアダプタ、
406…メインメモリ
407…システムバス、
408,409,410…バスアダプタ、
411,412,413…IOバス、
414,415…IOバス11上のIO、
416、417…IOバス12上のIO、
418、419…IOバス13上のIO。
Claims (3)
- 情報処理システムであって、
スプリットバスプロトコルを用いた第1のバスと、
スプリットバスプロトコルを用い、かつ、前記第1のバスとは異なった階層を有する第2バスと、
各モジュールの識別子を通知する第1の信号線と、
各モジュールの識別子を通知する第2の信号線と、
前記第1のバスと前記第 1 の信号線とに接続され、第1の識別子を有する第1のモジュールと、
前記第1のバスと前記第2のバスと前記第 1 及び第 2 の信号線とに接続されたバスアダプターと、
前記第2のバスと前記第 2 の信号線とに接続された第2のモジュールとを有し、
前記第1のモジュールは、
前記第1のバスにリード要求を送信すると共に、前記第 1 の信号線を介して前記第1の識別子を送信し、
前記バスアダプターは、
前記リード要求と前記第1の識別子を受信し、前記第 2 のバスのバス使用権を獲得して前記受信したリード要求と前記第1の識別子を前記第 2 のバス及び前記第 2 の信号線へそれぞれ送信した後、当該第 2 のバスを開放して前記第 2 のバスへの他のバスアクセスを可能とし、
前記第2のモジュールは、前記リード要求と前記第1の識別子を受信し、前記第 2 のバスのバス使用権を獲得して、前記リード要求に対する応答と前記第1の識別子とを前記第 2 のバスと前記第 2 の信号線へそれぞれ送信し、
前記バスアダプターは、前記リード要求に対する応答データと前記第1の識別子を受信し、前記第1のバスのバス使用権を獲得して、前記リード要求に対する応答と前記第1の識別子とを前記第1のバスと前記第1の信号線へ送信することを特徴とする情報処理システム。 - 前記第2のモジュールは、第2の識別子を有することを特徴とする請求項1記載の情報処理システム。
- 前記第1のバスは複数の処理装置と接続されることを特徴とする請求項1記載の情報処理システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03973899A JP3866873B2 (ja) | 1999-02-18 | 1999-02-18 | 情報処理装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP03973899A JP3866873B2 (ja) | 1999-02-18 | 1999-02-18 | 情報処理装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03042892A Division JP3411300B2 (ja) | 1992-02-18 | 1992-02-18 | 情報処理装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002262224A Division JP3878097B2 (ja) | 2002-09-09 | 2002-09-09 | バス制御方式及びコンピュータシステム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11272604A JPH11272604A (ja) | 1999-10-08 |
JP3866873B2 true JP3866873B2 (ja) | 2007-01-10 |
Family
ID=12561319
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP03973899A Expired - Lifetime JP3866873B2 (ja) | 1999-02-18 | 1999-02-18 | 情報処理装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3866873B2 (ja) |
-
1999
- 1999-02-18 JP JP03973899A patent/JP3866873B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH11272604A (ja) | 1999-10-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3411300B2 (ja) | 情報処理装置 | |
JP3765586B2 (ja) | 多重プロセッサコンピューターシステムのアーキテクチャ | |
US4843542A (en) | Virtual memory cache for use in multi-processing systems | |
US6526469B1 (en) | Bus architecture employing varying width uni-directional command bus | |
US6557069B1 (en) | Processor-memory bus architecture for supporting multiple processors | |
US5611058A (en) | System and method for transferring information between multiple buses | |
US5682551A (en) | System for checking the acceptance of I/O request to an interface using software visible instruction which provides a status signal and performs operations in response thereto | |
US6678801B1 (en) | DSP with distributed RAM structure | |
EP0834816A3 (en) | Microprocessor architecture capable of supporting multiple heterogenous processors | |
JPH0666821B2 (ja) | デ−タ通信コントロ−ラ | |
TW460797B (en) | Block snooping support for multiple processor systems | |
US6892266B2 (en) | Multicore DSP device having coupled subsystem memory buses for global DMA access | |
US5649209A (en) | Bus coupling information processing system for multiple access to system bus | |
JP3866873B2 (ja) | 情報処理装置 | |
JP2831083B2 (ja) | マルチプロセッサシステムおよび割り込み制御装置 | |
JP3878097B2 (ja) | バス制御方式及びコンピュータシステム | |
KR960005395B1 (ko) | 최소 경합 프로세서 및 시스템 버스 시스템 | |
JP3411520B2 (ja) | 情報処理装置 | |
JP2006331452A (ja) | バス制御方式及びコンピュータシステム | |
JP2004078998A (ja) | バス制御方式及びコンピュータシステム | |
US6611882B1 (en) | Inbound and outbound message passing between a host processor and I/O processor local memory | |
JP3466728B2 (ja) | 情報処理システム及びその方法 | |
JPH08272754A (ja) | マルチプロセッサシステム | |
JP2002278923A (ja) | バスシステム,バス制御方式及びそのバス変換装置 | |
JPH02101560A (ja) | バスインタフェース装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20060427 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061006 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091013 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101013 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111013 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121013 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: 20121013 Year of fee payment: 6 |