(57)【特許請求の範囲】
【請求項１】
複数の演算装置と、複数の主記憶装置と、任意のタイミングで受け付けた前記演算装置から発行された複数の処理要求を複数のブロックに分割し、前記ブロック単位に競合調停処理を行って所定時間１Ｔで最大前記ブロック数分の処理要求を選択する競合調停回路と、
前記競合調停回路が選択した処理要求に付随する処理要求データを保持する複数の処理要求保持レジスタと、
前記複数の処理要求保持レジスタに保持された処理要求データのうち有効なものをセットする出力待ちレジスタと、
前記競合調停回路に選択されなかった処理要求を保持する処理待ちレジスタとを備えた競合調停処理方式において、
前記出力待ちレジスタは、所定時間１Ｔで最大前記ブロック数分の処理要求を選択後、該処理要求群に付随する処理要求データ群を多段構成のレジスタ群によって保持し、該レジスタ群毎に優先処理順位に従って下位のレジスタにデータを送出し、最下位のレジスタ上の最大前記ブロック数分の処理要求データを、特定位置の処理要求データを前記主記憶装置に出力しては特定位置側にシフトする処理を繰り返して出力することを特徴とする競合調停処理方式。
【請求項２】
前記出力待ちレジスタは、前記最大ブロック数分の処理要求データをファーストインファーストアウト（ＦＩＦＯ）形式のレジスタファイル手段によって保持することを特徴とする請求項１記載の競合調停処理方式。
【請求項３】
複数の演算装置と、複数の主記憶装置と、任意のタイミングで受け付けた前記演算装置から発行された複数の処理要求を複数のブロックに分割し、前記ブロック単位に競合調停処理を行って所定時間１Ｔで最大前記ブロック数分の処理要求を選択する競合調停回路と、
前記競合調停回路が選択した処理要求に付随する処理要求データを保持する複数の処理要求保持レジスタと、
前記複数の処理要求保持レジスタに保持された処理要求データのうち有効なものをセットする出力待ちレジスタと、
前記競合調停回路に選択されなかった処理要求を保持する処理待ちレジスタとを備えた競合調停処理方式において、
前記出力待ちレジスタは、所定時間１Ｔで最大前記ブロック数分の処理要求を選択後、該処理要求群に付随する処理要求データ群を多段構成のレジスタ群によって保持し、該レジスタ群毎に優先処理順位に従って下位のレジスタにデータを送出し、最下位のレジスタ上の最大前記ブロック数分の処理要求データを、特定位置の処理要求データを前記主記憶装置に出力しては特定位置側にシフトする処理を繰り返して出力することを特徴とする情報処理装置。
【請求項４】
前記出力待ちレジスタは、前記最大ブロック数分の処理要求データをファーストインファーストアウト（ＦＩＦＯ）形式のレジスタファイル手段によって保持することを特徴とする請求項３記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、並列処理を必要とする情報処理装置において、複数の処理要求の中から優先順位の高い処理要求を抽出する競合調停処理方式及びこの方式を備えた情報処理装置に関する。
【０００２】
【従来の技術】
従来、並列処理を必要とする情報処理装置としては、パイプライン構成として、スーパーコンピュータが用いられているが、近年マルチプロセッサが共有メモリを用いて同一データを各プロセッサが操作して且つ並列処理することで、メモリの有効活用と高速処理等で活用されている。この共有メモリを恰も多ポートメモリであるがごとく、各ＣＰＵが高速にアクセスし得るようにする際に、アクセスの同時競合を考慮し、アクセス順序に優先順位をとるとしても、アクセス毎にアクセスタイムと一定時間のマージン時間を設定することから、アクセス競合時でのアクセス待ち時間が増加して、結果的にメモリ全体としての高速動作が図れないというのが現状である。
【０００３】
特開平４−１３３１４２号公報は、かかる問題を解決する手法を提示したものである。つまり、図５に示すように、単一ポートメモリ１０７に対し、複数のＣＰＵ１０１，１０２各々が独立にアクセスを行う際のアクセス制御方法であって、ＣＰＵ１０１，１０２各々のバスサイクル周期に比してアクセスタイムが十分小さい単一ポートメモリ１０７に対し、適当な優先順位制御を採用しつつＣＰＵ１０１，１０２各々が独立に読み出し／書込みアクセスを行うに際しては、メモリ１０７に対する各種制御信号のパルス幅を許容最小限に抑えると共に、メモリからの読出データを早期タイミングで一時的に保持せしめた上で、アクセスに係るＣＰＵ１０１，１０２に早期に転送取込みせしめるようにした共有の単一ポートメモリ１０７への高速アクセス制御方法を示している。
【０００４】
図５において、メモリアクセス制御回路１１０は、ＣＰＵ１０１，１０２各々からのアクセスアドレスの、連続アドレス空間上でのアドレス領域を判定するアドレス識別機能ブロック１０３、２つのメモリアクセス要求が競合する場合にその優先順位を調停する競合調停機能ブロック１０４、メモリアクセスを行う際にメモリ１０７に各種制御信号を作成・送出するメモリ占有時間制御機能ブロック１０５、メモリ１０７からの読み出しデータを早期に一時的に保持する読み出しデータ保持機能ブロック１０６を含むように構成される。
【０００５】
この図５において、単一ポートメモリでのアクセスタイムがＣＰＵ１０１，１０２各々のバスサイクル周期に比し十分小さいものとする。まず、ＣＰＵ１０１，１０２各々がメモリアクセスを行う場合、アドレスバス上にはアクセスアドレスが送出され、アクセスアドレスの内容からアクセスされるメモリのアドレスが一義的に定まり、一定の連続アドレス空間をアクセス可能とされている。メモリ１０７でのメモリ容量が十分でない場合には、メモリ１０７にはその連続アドレス空間における一部としての部分的連続アドレス空間が割り付けられているものとする。ＣＰＵ１０１，１０２各々からのアクセスアドレスがメモリ１０７の部分的連続アドレス空間内のものであれば、ＣＰＵ１０１，１０２各々の対応でアクセス要求ＲＥＱ１，ＲＥＱ２に基づき初めてメモリ１０７がアクセスされる必要があるものであり、メモリ１０７がアクセスされる必要があるか否かは、ウインド・コンパレータ機能を具備しているアドレス識別機能ブロック１０３で判定される。従って、通常はアクセス要求ＲＥＱ１，ＲＥＱ２が同時に発生することはない。
【０００６】
ここで、ＣＰＵ１０１，１０２各々から同時に別々のアドレスにアクセスがあった場合、アクセス要求ＲＥＱ１，ＲＥＱ２が同時に生起する。このような場合、競合調停機能ブロック１０４では、適当な優先制御下に、所定パルス幅のアクセス要求許可信号ＡＣＫ１，ＡＣＫ２が所定順に発生された上、メモリ占有時間制御機能ブロック１０５に送出されるようになっている。この場合、アクセス要求ＲＥＱ１に対するアクセス要求許可信号ＡＣＫ１が先に発生され、このアクセス要求許可信号ＡＣＫ１に対するメモリアクセス終了後に、アクセス要求ＲＥＱ１に対するアクセス要求許可信号ＡＣＫ２が発生されるようになっている。
【０００７】
つぎに、メモリ占有時間制御機能ブロック１０５では、アクセス要求許可信号ＡＣＫ１，ＡＣＫ２各々が出現する度に、パルス幅が許容最小限に抑えられたメモリアクセス上で必要とされる各種制御信号とともに、アクセス要求許可に係るＣＰＵ側からのアクセスアドレスや書込みデータ（書込みアクセスの場合）をメモリアドレスバス及びメモリデータバスを介しメモリ１０７に送出することで、メモリ１０７へのアクセスが最小許容アクセスタイムで行われる。
【０００８】
一方、メモリ１０７に対し読み出しアクセスが行われた場合、メモリ１０７からメモリデータバス上には読み出しデータが読み出され、この読み出しデータを読み出しデータ保持機能ブロック１０６にて、メモリ占有時間制御機能ブロック１０５からのデータラッチ信号ＬＰによって早期に一時的に保持せしめることで、ＣＰＵ側では、データラッチ信号ＬＰ直後のタイミングでデータバスを介してその読み出しデータを取り込むことができる。
【０００９】
以上のように、競合調停機能ブロック１０４における競合調停処理においては、ＣＰＵ１０１，１０２であるプロセッサから競合調停回路へ処理要求の供給が一つづつであった。これは処理要求元のバスサイクル周期に対し、メモリへのアクセスタイムが十分に小さい場合にのみ有効である。
【００１０】
【発明が解決しようとする課題】
しかし、処理性能を向上させるためには処理要求元からのバスサイクルを小さくする、さらにはバスサイクルをなくしてしまうことが有効である。そのためには同時に複数の処理要求を受け付ける競合調停処理方式が必要となる。また、従来の競合調停処理方式は、任意のタイミングにおいて抽出できる処理要求数は１つのみであった。
【００１１】
よって、任意のタイミングで受け付ける処理要求数をＮとすると、全ての処理要求の競合調停処理を行うために要する処理数もＮとなり、全ての処理要求の競合調停を終了するまでの時間をＮ×（各処理時間）以下に短縮することはできない。これは任意のタイミングで競合調停により抽出できる処理要求が１つのみであることに起因する。
【００１２】
図４に競合調停処理方式の１例のブロック図を示す。たとえば任意のタイミングで受け付け可能な演算装置からの処理要求数を最大３２個として説明する。
【００１３】
任意のタイミングにおいて最大３２個の演算装置からの複数の処理要求は処理要求受け付け部９１で受け付ける。処理要求受け付け部９１に受け付けられた処理要求は、先行して処理されていた処理要求が全て処理終了したならば、処理要求セレクタ９２により選択され競合調停回路（ＡＢＴ：Arbitrator）９３での処理に進む。競合調停回路９３では最大３２個の処理要求の中から一番早く要求を開始した若番ポート順に優先順位をつけて、処理要求データセレクタ９８に出力する。処理要求データセレクタ９８から出力された処理要求は、出力待ちレジスタ９９にセットし、主記憶装置３０に格納する。
【００１４】
また、競合調停回路（ＡＢＴ）９３で選択されなかった処理要求は再び競合調停を行う必要があるため制御回路９４により選択済み処理要求のみを消去し、残りの処理要求を処理待ちレジスタ９７に保持する。
【００１５】
また、制御回路９４の出力に有効な処理要求があるかぎり、処理要求セレクタ９２が処理待ちレジスタ９７の出力を選択するように制御回路９５を設定し、有効フラグ９６をセットする。有効フラグ９６が１値である場合、処理要求セレクタ９２の出力は常に処理待ちレジスタ９７の出力値となる。有効フラグ９６が０値である場合、競合調停回路９３内に未処理の処理要求は存在しないことになるので処理要求セレクタ９２の出力は処理要求受け付け部９１の出力を選択する。
【００１６】
しかしながら、上記従来の競合調停方式では、任意のタイミングで競合調停により抽出できる処理要求が１つのみであるので、任意のタイミングで受け付けた処理要求数をＮとすると、全ての処理要求の競合調停処理を行うために要する処理数もＮとなり、全ての処理要求の競合調停を終了するまでの時間をＮ×（各処理時間）以下に短縮することはできない。
【００１７】
［発明の目的］
本発明の目的は、任意のタイミングで受け付けた演算装置からの複数の処理要求の競合調停処理に要する処理時間を短縮するために、同一主記憶装置に出力する処理要求群をいくつかのブロックに分割して、ブロック単位に競合調停を行うことにより、任意のタイミングにおいて複数の処理要求を抽出できる競合調停処理方式を提供することにある。
【００１８】
また、ブロックに分割して競合調停を行うことにより、ブロックあたりの競合調停回路の規模を小さくすることができ、さらに遅延改善が可能となるため装置の性能向上を果たすことができる。
【００１９】
【課題を解決するための手段】
本発明の装置は、複数の演算装置と複数の主記憶装置から構成され、複数の演算処理からの処理要求を「演算装置対応に処理要求を保持する手段」を有し、同一主記憶装置に出力する先行処理要求の競合調停処理が終了したならば後続の「演算装置対応に保持された処理要求」を「主記憶装置対応に有する競合調停回路」に出力する手段を有し、演算装置からの処理要求群をブロック単位に分割して競合調停を行うことにより１Ｔでブロック数分の処理要求を抽出する競合調停手段を有する競合調停処理方式及び該方式を備える情報処理装置である。
また、本発明は、複数の演算装置と、複数の主記憶装置と、前記演算装置から発行された複数の処理要求に優先順位を付けて前記優先順位の高い処理要求から前記主記憶装置に出力する競合調停手段とを有し、任意のタイミングで前記競合調停手段に受け付けた前記演算装置から発行された複数の処理要求を複数のブロックに分割する分割手段を含み前記ブロック単位に競合調停処理を行って優先処理順位を決定する競合調停回路と、同時に抽出された処理要求を保持する複数の処理要求保持レジスタと、前記複数の処理要求保持レジスタの出力を処理要素数に応じてセットする出力待ちレジスタと、前記優先処理順位に外れた処理要求を保持する処理待ちレジスタとを備えた競合調停処理方式であって、前記ブロック数分の処理要求を同時に抽出後、該処理要求群を前記処理要求保持レジスタを含む多段構成のレジスタ群によって保持し、該レジスタ群毎に前記優先処理順位に従って下位のレジスタにデータを送出し、最下位のレジスタのうち前記優先処理順位に従って前記主記憶装置に出力することを特徴とする。
【００２０】
また競合調停手段により抽出されたブロック数分の処理要求を「１Ｔで保持する１段構成のレジスタ手段」を有し、該レジスタ手段から１つづつ処理要求を主記憶に送出する手段を有する競合調停処理方式及び該方式を備える情報処理装置である。
【００２１】
また競合調停手段により抽出されたブロック数分の処理要求を「１Ｔで保持する多段構成のレジスタ手段」を有し、該レジスタ手段から１つづつ処理要求を主記憶に送出する手段を有する競合調停処理方式及び該方式を備える情報処理装置である。
【００２２】
また、競合調停手段により抽出されたブロック数分の処理要求を「１Ｔで保持するファーストインファーストアウト（ＦＩＦＯ）形式のレジスタファイル手段」を有し、該バッファ手段から１つづつ処理要求を主記憶に送出する手段を有する競合調停処理方式及び該方式を備える情報処理装置である。
【００２３】
［作用］
複数の演算装置からの処理要求を演算装置対応に保持する手段を有することで先行処理要求が処理中であっても後続の処理要求を受け付けることができ、演算装置から競合調停手段への処理要求の送出を停止させる必要はない。
【００２４】
また、複数のＣＰＵからアクセスされる共有メモリである同一主記憶装置に出力する先行処理要求の競合調停処理が終了したならば、後続の「演算装置対応に保持された処理要求」を競合調停回路に出力する手段を有することで、複数の処理要求間での順序保証を行うことができ、競合調停に参加した処理要求は優先順位が低位でも必ず主記憶装置に送出されることが保障される。
【００２５】
さらに、複数の演算装置からの処理要求の中からブロック数分の処理要求を抽出する競合調停手段を有することにより任意のタイミングの競合調停において複数個（ｎ個：ｎ＞１）の処理要求を抽出することができるため、従来の競合調停に必要とした時間をＴとすれば、本発明によりＴ／ｎ時間に短縮でき、競合調停処理の高速化を計ることができる。
【００２６】
また、競合調停手段により抽出されたブロック数分の処理要求を１Ｔで保持できる１段構成のレジスタ手段を有することにより競合調停手段から出力された複数の処理要求を保持することができる。
【００２７】
また、多段構成のレジスタ手段を有することにより後続の処理要求の競合調停手段を先行処理要求の主記憶装置への送出完了を待つ必要はなくなる。
【００２８】
また、ファーストインファーストアウト（ＦＩＦＯ）形式のレジスタファイル手段により処理要求を保持することにより多段レジスタ構成時よりも効率的（占有面積）に処理要求を持ち回ることができる。
【００２９】
【発明の実施の形態】
次に、本発明の実施形態について、図面を参考にして詳細に説明する。
【００３０】
［第１の実施形態］
図１は実施形態の競合調停制御方式を示した回路構成図である。図１では図面の煩雑化を回避するため演算装置と主記憶装置は省略している。
【００３１】
たとえば、任意のタイミングで受け付け可能な演算装置からの処理要求数を最大３２個、競合調停ブロック分割数を４とし、各処理要求にはデータが付随し、スループット向上のために１段レジスタ構成の出力バッファを有するものとして説明する。
【００３２】
任意のタイミングにおいて演算装置からの複数の処理要求は処理要求受け付け部１で受け付ける。
【００３３】
処理要求受け付け部１に受け付けられた処理要求は、先行して処理されていた処理要求が全て処理終了したならば、処理要求セレクタ２により選択され、競合調停回路（ＡＢＴ）３での処理に進む。競合調停回路３では最大３２個の処理要求を０〜７ポート、８〜１５ポート、１６〜２３ポート、２４〜３１ポートの４ブロックに分割し、ブロック単位にそれぞれ最大８ポートの処理要求の中から若番ポート順に優先順位をつけて処理要求データセレクタ８〜１１に出力する。処理要求データセレクタ８〜１１から出力された処理要求は処理要求保持レジスタ１２〜１５に保持される。本ケースでは所定時間１Ｔで最大４つの処理要求を選択して出力することができる。競合調停回路（ＡＢＴ）３で選択されなかった処理要求は再び競合調停を行う必要があるため、反転回路（インバータ）を介して制御回路４により選択済み処理要求のみを消去し、残りの処理要求を処理待ちレジスタ７に保持する。また、論理積からなる制御回路４の出力に有効な処理要求があるかぎり、処理要求セレクタ２が処理待ちレジスタ７の出力を選択するように論理和からなる制御回路５を設定し、有効フラグ６をセットする。有効フラグ６が１値である場合、処理要求セレクタ２の出力は、常に処理待ちレジスタ７の出力値となる。制御回路５の出力がなくなり有効フラグ６が０値である場合、競合調停回路内に未処理の処理要求は存在しないことになるので、処理要求セレクタ２の出力は処理要求受け付け部１の出力を選択する。
【００３４】
処理要求保持レジスタ１２〜１５に保持された最大４つの処理要求を、選択制御回路１６により有効な処理要求のみ左詰に設定し、左詰にシフトされた処理要求を出力データセレクタ１７〜１９、出力データホールドセレクタ２０を通して、出力待ちレジスタ２１にセットする。出力待ちレジスタ２１にセットされた処理要求はＤＡＴＡ０位置の処理要求データのみが主記憶装置３０に出力される。よって出力待ちレジスタ２１に複数の処理要求がセットされた場合、データシフト選択回路２３の出力により、データシフト回路２４により未出力処理要求を左詰にシフトして、出力データホールドセレクタ２０を通して、再び出力待ちレジスタ２１にセットし、ＤＡＴＡ０位置の処理要求を出力する。出力待ちレジスタ２１に未出力のデータがなくなるまで上記シフト動作を行う。また、出力待ちレジスタ２１に出力待ちデータが存在する間処理要求保持レジスタ１２〜１５、処理待ちレジスタ７をホールドするためのホールド信号を制御回路２２で生成する。
【００３５】
上記により、複数のＣＰＵからの処理要求をＣＰＵに対応して保持する手段を有することで、先行処理要求が処理中であっても、後続の処理要求を受け付けることができ、ＣＰＵから競合調停手段への処理要求の送出を停止させる必要はなくなる。
【００３６】
また、複数のＣＰＵからアクセスされる共有メモリである同一主記憶装置に出力する先行処理要求の競合調停処理が終了したならば、後続のＣＰＵに対応して保持された処理要求を競合調停回路に出力する手段を有することで、複数の処理要求間での順序保証を行うことができ、競合調停に参加した処理要求は優先順位が低位でも必ず、主記憶装置に送出されることが保障される。
【００３７】
さらに、複数のＣＰＵからの処理要求の中からブロック数分の処理要求を抽出する競合調停手段を有することにより、任意のタイミングの競合調停において複数個（ｎ個：ｎ＞１）の処理要求を抽出することができるため、従来の競合調停に必要とした時間をＴとすれば、本実施形態により、Ｔ／ｎ時間に短縮でき、競合調停処理の高速化を計ることができる。
【００３８】
また、本実施形態による競合調停手段により抽出されたブロック数分の処理要求を１Ｔで保持できる１段構成のレジスタ手段を有することにより、競合調停手段から出力された複数の処理要求を保持することができる。
【００３９】
［第２の実施形態］
次に、本発明の第２実施形態について図２を参考にして説明する。第１実施形態と同様に、任意のタイミングで受け付け可能な処理要求数を最大３２個、ブロック分割数を４とし、各処理要求にはデータが付随し、スループット向上のための多段レジスタ構成の出力バッファは４段から構成されるものとして説明する。
【００４０】
任意のタイミングにおいて複数の処理要求は処理要求受け付け部３１で受け付ける。処理要求受け付け部３１に受け付けられた処理要求は、先行して処理されていた処理要求が全て処理終了したならば処理要求セレクタ３２により選択され競合調停回路（ＡＢＴ）３３での処理に進む。競合調停回路３では最大３２個の処理要求を０〜７ポート、８〜１５ポート、１６〜２３ポート、２４〜３１ポートの４ブロックに分割し、ブロック単位にそれぞれ最大８ポートの処理要求の中から若番ポート順に優先順位をつけて処理要求データセレクタ３８〜４１に出力する。処理要求データセレクタ３８〜４１から出力された処理要求は処理要求保持レジスタ４２〜４５に保持される。本ケースでは１Ｔで最大４つの処理要求を選択して出力することができる。
【００４１】
競合調停回路（ＡＢＴ）３３で選択されなかった処理要求は、再び競合調停を行う必要があるため、制御回路３４により選択済み処理要求のみを消去し、残りの処理要求を処理待ちレジスタ３７に保持する。また、制御回路３４の出力に有効な処理要求があるかぎり処理要求セレクタ３２が処理待ちレジスタ３７の出力を選択するように、制御回路３５を設定し、有効フラグ３６をセットする。有効フラグ３６が１値である場合、処理要求セレクタ３２の出力は常に処理待ちレジスタ３７の出力値となる。
【００４２】
処理要求保持レジスタ４２〜４５に保持された最大４つの処理要求を、選択制御回路４６により有効データのみ左詰に設定し、左詰にシフトされた処理要求を出力データセレクタ４７〜４９を通してＦＩＦＯ（ファーストインファーストアウト）バッファ形式で多段レジスタ構成の出力待ちレジスタ５０〜５３にセットする。ＦＩＦＯ形式の場合、最優先でセットされる出力待ちレジスタ５３にセットされた処理要求データはＤＡＴＡ０位置の処理要求のみが出力される。よって出力待ちレジスタ５３に複数の処理要求データがセットされた場合、データシフト選択回路５９、データシフト回路６０により未出力処理要求を左詰にシフトして再び出力待ちレジスタ５３にセットしＤＡＴＡ０位置の処理要求を主記憶装置３０に対して出力する。
【００４３】
出力待ちレジスタ５３に未出力のデータがなくなるまで上記シフト動作を行う。また、出力待ちレジスタ５３に出力待ちデータが存在する間、後続の処理要求は残り３段の出力待ちレジスタ５０〜５２に保持され、全ての出力バッファに処理要求が存在する場合は処理要求保持レジスタ４２〜４５、処理待ちレジスタ３７をホールドするためのホールド信号を制御回路５４〜５８で生成する。
【００４４】
本実施形態により、多段構成のレジスタを有することにより、後続の処理要求の競合調停において、先行処理要求の共有メモリである主記憶装置への送出完了を待つ必要はなくなる。
【００４５】
また、上記各レジスタ５０〜５３に使用するファーストインファーストアウト（ＦＩＦＯ）形式のレジスタファイルにより、処理要求を保持して処理速度を早めることにより、後続の処理要求の競合調停を待つことはなくなり、先行処理要求の共有メモリである主記憶装置への送出完了を待つ必要もなくなる。
【００４６】
［第３の実施形態］
さらに、本発明の第２の実施形態の変形として、本第３実施形態について、図３を参考にして説明する。第１実施形態及び、第２実施形態と同様に任意のタイミングで受け可能な処理要求数を最大３２個、ブロック分割数を４とし、各処理要求にはデータが付随し、スループット向上のためにＦＩＦＯ形式のレジスタバッファ構成の出力バッファを有するものとして説明する。
【００４７】
任意のタイミングにおいて複数の処理要求は、処理要求受け付け部６１で受け付ける。処理要求受け付け部６１に受け付けられた処理要求は、先行して処理されていた処理要求が全て処理終了したならば、処理要求セレクタ６２により選択され、競合された競合調停回路（ＡＢＴ）６３での処理に進む。競合調停回路６３では最大３２個の処理要求を０〜７ポート、８〜１５ポート、１６〜２３ポート、２４〜３１ポートの４ブロックに分割し、ブロック単位にそれぞれ最大８ポートの処理要求の中から、若番ポート順に優先順位をつけて処理要求データセレクタ６８〜７１に出力する。処理要求データセレクタ６８〜７１から出力された処理要求は、処理要求保持レジスタ７２〜７５に保持される。
【００４８】
本ケースでは１Ｔで最大４つの処理要求を選択して出力することができる。競合調停回路（ＡＢＴ）６３で選択されなかった処理要求は再び競合調停を行う必要があるため制御回路６４により選択済み処理要求のみを消去し、残りの処理要求を処理待ちレジスタ６７に保持する。また、制御回路６４の出力に有効な処理要求があるかぎり処理要求セレクタ６２が処理待ちレジスタ６７の出力を選択するように制御回路６５を設定し、有効フラグ６６をセットする。有効フラグ６６が１値である場合、処理要求セレクタ６２の出力は常に処理待ちレジスタ６７の出力値となる。
【００４９】
処理要求保持レジスタ７２〜７５に保持された最大４つの有効データを選択制御回路７６により有効データのみ左詰に設定し、左詰にシフトされた処理要求データを出力データセレクタ７７〜７９を通してレジスタバッファで構成される出力バッファ８１のライトアドレスレジスタ８２で示すワード位置にセットする。出力バッファ８１にセットされた処理要求は先行して処理する出力待ちレジスタ８５の処理要求出力処理が終了したならばリードアドレスレジスタ８３で示すワード位置から読み出され出力待ちレジスタ８５にセットされる。出力待ちレジスタ８５からはＤＡＴＡ０位置の処理要求のみが主記憶装置３０に出力される。よって、データシフト選択回路８７、データシフト回路８８により未出力処理要求を左詰にシフトして、再び出力待ちレジスタ８１にセットしＤＡＴＡ０位置の処理要求を出力する。
【００５０】
出力待ちレジスタ８５に未出力のデータがなくなるまで、データシフト回路８８により上記シフト動作を行う。また、出力待ちレジスタ８５に出力待ちデータが存在する間、後続の処理要求は出力バッファ８１に登録され、出力バッファ８１内の未掃き出しの処理要求データがフル状態になる前に出力バッファ８１がオーバーフローしないように、ライトアドレスレジスタ８２、処理待ちレジスタ６７、処理要求保持レジスタ７２〜７５をホールドするためのホールド信号をバッファビジー検出回路８４で生成する。
【００５１】
また、上記各レジスタ８０，８５に使用するファーストインファーストアウト（ＦＩＦＯ）形式のレジスタファイルと、出力バッファ８１と、バッファビジー検出回路８４により、処理要求を保持することにより多段レジスタ構成時よりも、効率的（占有面積）に処理要求を持ち回ることができる。
【００５２】
【発明の効果】
本発明によれば、上記実施形態において説明したように、３２個の処理要求を４つのブロックに分割して競合調停処理を行い、ブロック単位に競合調停を行うことにより、１Ｔで最大ブロック数分の処理要求を競合調停により抽出することができる。
【００５３】
また、従来方式の３２個の中から１個を選択する回路構成よりも、ブロック単位（８個）の中から１個を選択する回路の方が構成する回路も単純となる。その結果、回路構成が単純になることにより回路遅延が改善され、装置の性能向上を計るという効果がある。
【図面の簡単な説明】
【図１】本発明の第１実施形態の構成図である。
【図２】本発明の第２実施形態の構成図である。
【図３】本発明の第３実施形態の構成図である。
【図４】本発明の前提となる競合調停回路手段の構成図である。
【図５】従来の共有メモリへの高速アクセス制御方法による例の構成図である。
【符号の説明】
１  処理要求受け付け部
２  処理要求セレクタ
３  競合調停回路
４  制御回路
５  制御回路
６  有効フラグ
７  処理待ちレジスタ
８〜１１  処理要求データセレクタ
１２〜１５  処理要求保持レジスタ
１６  選択制御回路
１７〜１９  出力データセレクタ
２０  出力データホールドセレクタ
２１  出力待ちレジスタ
２２  制御回路
２３  データ選択回路
２４  データシフト回路
３１  処理要求受け付け部
３２  処理要求セレクタ
３３  競合調停回路
３４  制御回路
３５  制御回路
３６  有効フラグ
３７  処理待ちレジスタ
３８〜４１  処理要求データセレクタ
４２〜４５  処理要求保持レジスタ
４６  選択制御回路
４７〜４９出力データセレクタ
５０〜５３  出力待ちレジスタ
５４〜５８  制御回路
５９  データシフト選択回路
６０  データシフト回路
６１  処理要求受け付け部
６２  処理要求セレクタ
６３  競合調停回路
６４  制御回路
６５  制御回路
６６  有効フラグ
６７  処理待ちレジスタ
６８〜７１  処理要求データセレクタ
７２〜７５  処理要求保持レジスタ
７６  選択制御回路
７７〜７９  出力データセレクタ
８０  出力バッファデータ書き込みレジスタ
８１  出力バッファ
８２  書き込みアドレスレジスタ
８３  読み出しレジスタ
８４  バッファビジー検出回路
８５  出力待ちレジスタ
８６  制御回路
８７  データシフト選択回路
８８  データシフト回路
９１  処理要求受け付け部
９２  処理要求セレクタ
９３  競合調停回路
９４  制御回路
９５  制御回路
９６  有効フラグ
９７  処理待ちレジスタ
９８  処理要求データセレクタ
９９  処理要求保持レジスタ
１０１，１０２  ＣＰＵ
１０４  競合調停機能ブロック
１０７  メモリ
【図１】
0003641347.tif 000002
【図２】
0003641347.tif 000003
【図３】
0003641347.tif 000004
【図４】
0003641347.tif 000005
【図５】
0003641347.tif 000006