(57)【特許請求の範囲】
【請求項１】
各々がＮ個（Ｎは２以上の整数）のメモリバンクからなるＭ個（Ｍは２以上の整数）の物理バンクグループに分けられた、複数のメモリバンクからなる記憶装置と、
該記憶装置に対するメモリアクセスリクエストをそれぞれ出力する複数のリクエスト回路と、
該記憶装置と該複数のリクエスト回路とに接続され、それぞれ該複数の物理バンクグループの一つに対応して設けられ、該複数のリクエスト回路から並列に出力される複数のメモリアクセス要求を調停して、該複数のメモリアクセス要求の一つを対応する物理バンクグループに転送するための複数のプライオリティ制御部とを有し、
各メモリバンクは、ローアドレスとカラムアドレスとでもってアクセスされる複数の記憶位置を有するメモリにより構成され、該メモリは、同じローアドレスを有し異なるカラムアドレスを有する一群の記憶位置を、該ローアドレスを一度印加し、該一群の記憶位置のカラムアドレスを連続して印加することにより連続してアクセス可能に構成され、
該複数のメモリバンクは、同一の物理バンクグループ内メモリバンク番号を持つＭ個のメモリバンクが同一の論理バンクグループに所属するように、それぞれＭ個のメモリバンクからなるＮ個の論理バンクグループに区分され、
それぞれＭ×Ｌ（Ｌは２以上の整数）個のアドレスからなる複数のアドレスブロックが、順次異なる論理グループに割り付けられ、各アドレスブロックに属するＭ×Ｌ個のアドレスは、そのアドレスブロックが割り付けられた論理グループに属するＭ個のメモリバンクの順次異なるものにインタリーブ方式に従って割り付けられ、その結果として、該論理グループに属するＭ個のメモリバンクの各々にはＬ個のアドレスが割り付けられ、
各メモリバンクに割り付けられた複数のアドレスの内、同一のアドレスブロックに属するＬ個のアドレスは、同一のローアドレスを有し、異なるカラムアドレスを有する複数の記憶位置に割り付けられているプロセッサシステム。
【請求項２】
上記整数Ｌは、各メモリバンク内の、同一のローアドレスを有し、異なるカラムアドレスを有する一群の記憶位置の総数より小さく、
各メモリバンク内の、同一のローアドレスを有し、異なるカラムアドレスを有する上記一群の記憶位置は、第１のアドレスブロックに属するアドレスが割り付けられている複数の記憶位置と、少なくとも一つの他のアドレスブロックに属するアドレスが割り付けられている複数の記憶位置とを含む請求項１記載のプロセッサシステム。
【請求項３】
上記整数Ｌは、各メモリバンク内の、同一のローアドレスを有し、異なるカラムアドレスを有する一群の記憶位置の総数の整数分の１に等しい請求項２記載のプロセッサシステム。
【請求項４】
複数（Ｎ×Ｍ）個（Ｎ、Ｍは２以上の整数）のメモリバンクからなる記憶装置と、
それぞれ該記憶装置に対するメモリアクセスリクエストを出力する複数のリクエスト回路と、
各メモリバンクは、ローアドレスとカラムアドレスとでもってアクセスされる複数の記憶位置を有するメモリにより構成され、該メモリは、同じローアドレスを有し異なるカラムアドレスを有する一群の記憶位置を、該ローアドレスを一度印加し、それらの記憶位置のカラムアドレスを連続して印加することにより連続してアクセス可能に構成され、
該複数のメモリバンクは、それぞれＭ個のメモリバンクからなるＮ個の論理バンクグループに区分され、
それぞれＭ×Ｌ（Ｌは２以上の整数）個のアドレスからなる複数のアドレスブロックが、順次異なるＮ個の論理グループに割り付けられ、各アドレスブロックに属するＭ×Ｌ個のアドレスが、そのアドレスブロックが割り付けられた一つの論理グループに属するＭ個のメモリバンクの順次異なるものにインタリーブ方式に従って順次割り付けられ、結果としてその論理グループ内の各メモリバンクにはＬ個のアドレスが割り付けられ、
上記整数Ｌは、各メモリバンク内の、同一のローアドレスを有し、異なるカラムアドレスを有する一群の記憶位置の数より小さく、
各メモリバンク内の、同一のローアドレスを有し、異なるカラムアドレスを有する一群の記憶位置は、第１のアドレスブロックに属するアドレスが割り付けられている複数の記憶位置と、少なくとも一つの他のアドレスブロックに属するアドレスが割り付けられている複数の記憶位置とを含むプロセッサシステム。
【請求項５】
上記整数Ｌは、各メモリバンク内の、同一のローアドレスを有し、異なるカラムアドレスを有する一群の記憶位置の総数の整数分の１に等しい請求項４記載のプロセッサシステム。
【請求項６】
複数のメモリバンクからなる記憶装置と、
それぞれ該記憶装置に対する一群のメモリアクセスリクエストを出力する複数のリクエスト回路と、
該記憶装置と該複数のリクエスト回路とに接続され、該複数のリクエスト回路から並列に出力される複数のメモリアクセス要求を調停した後に、該複数のメモリバンクに転送するプライオリティ制御回路とを有し、
各メモリバンクは、ローアドレスとカラムアドレスとでもってアクセスされる複数の記憶位置を有するメモリにより構成され、該メモリは、同じローアドレスを有し異なるカラムアドレスを有する一群の記憶位置を、該ローアドレスを一度印加し、それらの記憶位置のカラムアドレスを連続して印加することにより連続してアクセス可能に構成され、
各リクエスト回路は、
一連のメモリアクセス要求を順次出力する回路と、
該複数のメモリバンクの一つ内の一つのローアドレスをロックすることを要求するロック要求を出力し、その一つのメモリバンクがロックされた後にその一つのメモリバンクのそのローアドレスをアンロックすることを要求するアンロック要求を出力するロック／アンロック要求回路とを有し、
該プライオリティ制御回路は、
該複数のリクエスト回路から並列に出力された複数のメモリアクセスリクエストの内、アクセスを許可すべき少なくとも一つのメモリアクセスリクエストを選択する回路と、
該複数のリクエスト回路の一つに含まれた上記ロック／アンロック要求回路から出力されたロック要求に応答して、そのロック要求が指定するメモリバンクのそのロック要求が指定するローアドレスが、そのリクエスト回路によりロックされたことを示す情報を記憶し、そのロック／アンロック要求回路からその後に出力されたアンロック要求に応答してそのメモリバンク内のそのローアドレスがアンロックされたことを示す情報を記憶するロック情報記憶装置と、
該複数のリクエスト回路により並列に出力された上記複数のメモリアクセスリクエストの各々が、そのメモリアクセスリクエストがアクセスするメモリバンクが、そのメモリアクセスリクエストを出力したリクエスト回路以外の他のリクエスト回路によりロックされているローアドレスを有するメモリバンクと一致するという第１の条件を満たすか否か、および、いずれかのメモリアクセスリクエストがその第１の条件を満たす場合に、そのメモリアクセスリクエストが指定するローアドレスが、当該他のリクエスト回路によりロックされているローアドレスと一致するという第２の条件を満たすか否かを、上記ロック情報記憶装置に記憶された情報により検出する回路と、
該複数のメモリアクセスリクエストに対する該検出回路による検出結果に依存して、該選択回路による選択を制御する回路とを有するプロセッサシステム。
【請求項７】
上記制御回路は、いずれか一つのリクエスト回路より出力され、該第１の条件を満たし、該第２の条件を満たさないと該検出回路により検出された一つのメモリアクセスリクエストよりも、前記一つのメモリアクセスリクエストがアクセスしようとするメモリバンクをロックしているメモリアクセスリクエスト回路から出力されたメモリアクセスリクエストを優先して選択するように、上記選択回路を制御する回路を有する請求項６記載のプロセッサシステム。
【請求項８】
上記制御回路は、いずれか一つのリクエスト回路より出力され、該第１の条件を満たし、該第２の条件を満たさないと該検出回路により検出された一つのメモリアクセスリクエストよりも、前記一つのメモリアクセスリクエストがアクセスしようとするメモリバンクをロックしているメモリアクセスリクエスト回路から出力されたもう一つのメモリアクセスリクエストを優先して選択するという動作を、その、ロックしているメモリアクセスリクエスト回路から出力された所定数のメモリアクセスリクエストが選択されるまで繰り返し、その後に、該一つのメモリアクセスリクエストを選択するように上記選択回路を制御する回路を有する請求項７記載のプロセッサシステム。
【請求項９】
各リクエスト回路内の上記ロック／アンロック要求回路は、そのリクエスト回路が出力する一つの先行するメモリアクセスリクエストに付加してロック要求を出力し、そのリクエスト回路が出力する他の後続のメモリアクセスリクエストに付加してアンロック要求を出力する回路を有し、そのロック要求は、その先行するメモリアクセスリクエストが指定するメモリバンク内のその先行するメモリアクセスリクエストが指定するローアドレスのロックを要求し、そのアンロック要求は、その後続のメモリアクセスリクエストが指定するメモリバンク内のその後続のメモリアクセスリクエストが指定するローアドレスのアンロックを要求する請求項６記載のプロセッサシステム。
【請求項１０】
各リクエスト回路内の上記一連のメモリアクセス要求を順次出力する回路は、一連のアドレスをアクセスすることを要求する命令が指定するアクセス情報に応答して、一連のアドレスを有する一連の記憶位置をアクセスするための一連のメモリアクセスリクエストを順次出力する回路を有し、
各リクエスト回路内の上記ロック／アンロック要求回路は、上記一連のメモリアクセスリクエストの内、同一のメモリバンクをアクセスする複数のメモリアクセスリクエストの内の少なくとも最初のメモリアクセスリクエストに付加してロック要求を出力し、同一のメモリバンクをアクセスする該複数のメモリアクセスリクエストの内の最後のメモリアクセスリクエストに付加してアンロック要求を出力するように、上記命令が指定する上記情報に基づいて、上記一連のメモリアクセスリクエストの各々にロック要求とアンロック要求を付加するか否かを決定する回路を有する請求項８記載のプロセッサシステム。
【請求項１１】
上記一連のアドレスは、一定のアドレス間隔で隔たったアドレスである請求項１０記載のプロセッサシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、同期式ダイナミックメモリ（以下、単に同期式ＤＲＡＭあるいは同期式メモリと呼ぶ）あるいはそれに類似のメモリで構成された複数のメモリバンクを有するプロセッサシステムに関する。
【０００２】
【従来の技術】
従来、高速、かつ高スループットが要求される主記憶装置には、アクセスタイムの短いＳＲＡＭ（スタティック型ＲＡＭ）が用いられることがほとんどであった。ＳＲＡＭはチップ内のどのアドレスをアクセスするのにも同じ時間（十数ナノ秒程度）で済むが、これが、例えばＤＲＡＭ（ダイナミック型ＲＡＭ）になると、百数十ナノ秒にもなる。このようにＳＲＡＭは他のメモリチップに比べはるかにアクセスタイムが短い。
【０００３】
しかし、ＳＲＡＭは他のメモリチップ（ＤＲＡＭ）などに比べ、集積度が低く、またチップ価格も高いため、大容量の主記憶を構成すると、価格が数十倍以上高くなることがある。特に、ベクトル処理型のスーパーコンピュータの主記憶には高性能で大容量であることが要求されるため、上記の問題が顕著になる。
【０００４】
しかし、近年、いろいろの高速のメモリが提案されている。たとえば、同期式ＤＲＡＭとよばれる高スループットメモリチップが市販されるようになってきた。たとえば、「トランジスタ技術」、１９９３年１０月号、第３２４頁から３３１頁（以下、第１の参考文献と呼ぶ）参照。同期式ＤＲＡＭの特徴は、メモリ内の記憶位置がローアドレスとカラムアドレスでもってアクセスされ、通常は、各記憶位置をアクセスするのに、ローアドレスＲＡを印加した後、カラムアドレスＣＡを印加する（図１３（ａ）参照）。しかし、同じローアドレスを有し、異なるカラムアドレスを有する複数の記憶位置をアクセスするには、一度そのローアドレスを印加した後、それらのカラムアドレスを順次クロックに同期して印加すればよい。従って、これらの記憶位置は通常のアクセス方法より高速にアクセスできる（図１３（ｂ）参照）。以下、この動作を、ローアドレス固定モードあるいはローアドレス固定、カラム連続アクセスモードと呼ぶことにする。
【０００５】
ここで、図１３において、同期式ＤＲＡＭのクロックサイクルを１５ナノ秒とし、ローアドレスＲＡを入力してからカラムアドレスＣＡを入力できるようになるまでの時間を２クロック、カラムアドレスＣＡを入力してから初めのデータ出力（リードの場合）までの時間（これをＣＡＳレイテンシと呼ぶ）を２クロック、また、ローアドレスＲＡを入力しなおす場合に必要なプリチャージの時間を２クロック、ローアドレス固定モード時のアクセスピッチを１データ／クロックと仮定している。ＲＡＳ（図１３において、ＲＡＳは負論理の動作信号であるのでオーバラインを付して記載しているが、本明細書中ではオーバライン無しに単にＲＡＳと表記するものとする）はローアドレスアサート信号を、ＣＡＳ（図１３において、ＣＡＳは負論理の動作信号であるのでオーバラインを付して記載しているが、本明細書中ではオーバライン無しに単にＣＡＳと表記するものとする）はカラムアドレスアサート信号を示し、ＲＡＳ、ＣＡＳのトリガによってこのメモリに順次供給される二つのアドレスをそれぞれローアドレスＲＡ、カラムアドレスＣＡとしてチップ内に取り込む。
【０００６】
同期式ＤＲＡＭに類似のメモリとして、キャッシュ付ＤＲＡＭがある。これはＤＲＡＭとキャッシュを同一の集積回路に構成したものである。キャッシュ付ＤＲＡＭをベクトル型のスーパコンピュータへ応用するための研究の結果が、たとえば、W. -C. Hsu and J. E. Smith, "Performance of Cached DRAM Organizations in Vector Supercomputers," Proc. of the 20th Annual International Symposium on Computer Architecture, pp327-336, IEEE（以下、第２の参考文献と呼ぶ）に示されている。この参考文献では、二つのタイプのキャッシュ付ＤＲＡＭが採り上げられている。この文献によれば、このような二つのタイプのメモリにおいても、上記のローアドレス固定、カラムアドレス連続アクセスモードと同じ動作を行うことが出来ることが分かる。この文献では、複数のメモリバンクと複数のベクトル処理する計算機とからなる計算機システムに使用するために、具体的には二種類の新たなアドレス割り付けが比較評価されている。
【０００７】
図１５は、それらのアドレス割り付けの一つであるブロックインタリーブによるアドレス割り付けの例を示す。「０」から始まるアドレスを、メモリバンク番号（ＢＫ＃）「０」〜「３」に順にインタリーブ方式で割り付け、アドレス「１６」〜「３１」は、メモリバンク番号（ＢＫ＃）「４」〜「７」に割り付け、以後アドレス「１６」毎に、次の４つのメモリバンクにインタリーブ方式で割り付ける方式である。このようなアドレス割り付けを行うことにより、アドレス連続のアクセスで一度に４個のデータをリード／ライトが可能なブロックが４つ用意されることになる。これにより、最大４つのメモリアクセス手段に対して、メモリアクセスの機会を与えることができる。図１４は、最も一般的なインタリーブ方式を用いたアドレス割り付けの例を比較のために示す。
【０００８】
従来のベクトル型スーパーコンピュータの主記憶装置には、高いスループットが要求されるため、複数のメモリバンクから主記憶を構成し、インタリーブ方式を用いてメモリバンクにアドレスを割り付けることが多い。インタリーブ方式は一般に、連続するアドレスを異なるメモリバンクに割り付けることにより、連続でアクセスする場合のメモリスループットを高めるために用いられる。従来、インタリーブ方式は様々なバリエーションが提案され、または、製品に採用されている。そのようなインタリーブ方式に一例は特開平５−１６５７１６号あるいはこれに対応する米国特許５,３９２,４４３（以下、第３の参考文献と呼ぶ）に開示されている。
【０００９】
【発明が解決しようとする課題】
上記第２の参考文献では、複数のメモリバンクが複数の計算機のいずれもからインタコネクトネットワークによりアクセス可能になっている計算機システムをモデルにして、二つのアドレス割り付けが評価されている。
【００１０】
しかし、多くの市販されているベクトル型のスーパコンピュータでは、上記第３の参考文献にも記載されているように、主記憶装置を構成する複数のメモリバンクは、複数の物理バンクグループに区分され、プロセッサは主記憶装置に記憶制御装置により結合され、記憶制御装置には、それぞれ一つの物理バンクグループに対応して設けられた複数のプライオリティ制御回路があり、各プライオリティ制御回路には、上記プロセッサ内の互いに独立に動作する複数のリクエスト回路から、そのプライオリティ制御回路に接続された物理バンクグループ内のいずれかのメモリバンクをアクセスする複数のリクエストが並列に供給され、各プライオリティ制御回路は、それらのリクエストの中から一つのリクエストを選ぶ。
【００１１】
本発明者の検討によれば、このようなスーパコンピュータでの主記憶装置を構成する複数のメモリバンクと複数のリクエスト回路の関係が上記参考文献２に記載のものと異なるために、上記第２の参考文献に記載されたブロックインタリーブは、そのままでは上記従来のベクトル型のスーパコンピュータで採用されている複数の物理バンクグループにグループ化された複数のメモリバンクを有する主記憶装置には適用できない。
【００１２】
さらに、本発明者の検討によれば、上記同期式ＤＲＡＭあるいは上記キャッシュ付きＤＲＡＭのように、ローアドレス固定モードを有するメモリを計算機の主記憶に使用する場合、複数の独立のリクエスト回路からのアクセスが同じメモリバンクの異なるローアドレスを有する記憶位置を順次アクセスすることがしばしば生じる。このために、各メモリバンクでは、アクセスされるローアドレスが頻繁に変化することになり、ローアドレス固定モードという利点を使用できる機会が減る。
【００１３】
従って、本発明の目的は、ローアドレス固定モードで動作可能なメモリで構成され、複数のバンクグループに区分された複数のメモリバンクをローアドレス固定モードでアクセスするのに適したアドレス割り付けを有するプロセッサシステムを提供することである。
【００１４】
本発明のもう一つの目的は、ローアドレス固定モードで動作可能なメモリで構成された複数のメモリバンクに対する、複数のリクエスト回路からのアクセスによって生じるローアドレスの変更の回数を減少できるプロセッサシステムを提供することである。
【００１５】
【課題を解決するための手段】
上記目的を達成するために、本発明によるプロセッサシステムは、
各々がＮ個（Ｎは２以上の整数）のメモリバンクからなるＭ個（Ｍは２以上の整数）の物理バンクグループに分けられた、複数のメモリバンクからなる記憶装置と、
該記憶装置に対するメモリアクセスリクエストをそれぞれ出力する複数のリクエスト回路と、
該記憶装置と該複数のリクエスト回路とに接続され、それぞれ該複数の物理バンクグループの一つに対応して設けられ、該複数のリクエスト回路から並列に出力される複数のメモリアクセス要求を調停して、該複数のメモリアクセス要求の一つを対応する物理バンクグループに転送するための複数のプライオリティ制御部とを有し、
各メモリバンクは、ローアドレスとカラムアドレスとでもってアクセスされる複数の記憶位置を有するメモリにより構成され、該メモリは、同じローアドレスを有し異なるカラムアドレスを有する一群の記憶位置を、該ローアドレスを一度印加し、該一群の記憶位置のカラムアドレスを連続して印加することにより連続してアクセス可能に構成され、
該複数のメモリバンクは、同一の物理バンクグループ内メモリバンク番号を持つＭ個のメモリバンクが同一の論理バンクグループに所属するように、それぞれＭ個のメモリバンクからなるＮ個の論理バンクグループに区分され、
それぞれＭ×Ｌ（Ｌは２以上の整数）個のアドレスからなる複数のアドレスブロックが、順次異なる論理グループに割り付けられ、各アドレスブロックに属するＭ×Ｌ個のアドレスは、そのアドレスブロックが割り付けられた論理グループに属するＭ個のメモリバンクの順次異なるものにインタリーブ方式に従って割り付けられ、その結果として、該論理グループに属するＭ個のメモリバンクの各々にはＬ個のアドレスが割り付けられ、
各メモリバンクに割り付けられた複数のアドレスの内、同一のアドレスブロックに属するＬ個のアドレスは、同一のローアドレスを有し、異なるカラムアドレスを有する複数の記憶位置に割り付けられている。
【００１６】
本発明のより望ましい態様では、上記整数Ｌは、各メモリバンク内の、同一のローアドレスを有し、異なるカラムアドレスを有する一群の記憶位置の総数より小さく、
各メモリバンク内の、同一のローアドレスを有し、異なるカラムアドレスを有する一群の記憶位置は、第１のアドレスブロックに属するアドレスが割り付けられている複数の記憶位置と、少なくとも一つの他のアドレスブロックに属するアドレスが割り付けられている複数の記憶位置とを含む。
【００１７】
なお、上述した本願発明の特徴、すなわち、各メモリバンク内の、同一のローアドレスを有し、異なるカラムアドレスを有する一群の記憶位置は、第１のアドレスブロックに属するアドレスが割り付けられている複数の記憶位置と、少なくとも一つの他のアドレスブロックに属するアドレスが割り付けられている複数の記憶位置とを含むという特徴は、上記のメモリバンクが物理バンクグループに区分されていないプロセッサシステムにも適用可能である。
【００１８】
さらに本願発明によるプロセッサシステムの他の望ましい態様では、
該プライオリティ制御回路は、
該複数のリクエスト回路から並列に出力された複数のメモリアクセスリクエストの内、アクセスを許可すべき少なくとも一つのメモリアクセスリクエストを選択する回路と、
それぞれ該複数のメモリバンクの一つに対応して設けられた複数のローアドレス記憶装置であって、各ローアドレス記憶装置は、対応するメモリバンクをアクセスすることを該選択回路により最近に許された先行するメモリアクセスリクエストがアクセスしたその対応するメモリバンク内の記憶位置のローアドレスを記憶するものと、
該複数のリクエスト回路により並列に出力された上記複数のメモリアクセスリクエストの各々がアクセスするメモリバンク内の記憶位置に割り付けられたローアドレスと、上記複数のローアドレス記憶装置の内、そのメモリバンクに対応する一つのローアドレス記憶装置に記憶されたローアドレスとの間の一致を検出する検出回路と、
該複数のメモリアクセスリクエストの各々に対する該検出回路による検出結果に依存して、該選択回路による選択を制御する回路とを有する。
【００１９】
より望ましくは、上記制御回路は、該検出回路により一致が検出されなかった一つのメモリアクセスリクエストよりも、該検出回路により一致が検出された他メモリアクセスリクエストを優先して選択するように、上記選択回路を制御する回路を有する。
【００２０】
さらに望ましくは、
各リクエスト回路は、
一連のメモリアクセス要求を順次出力する回路と、
該複数のメモリバンクの一つ内の一つのローアドレスをロックすることを要求するロック要求を出力し、その一つのメモリバンクがロックされた後にその一つのメモリバンクのそのローアドレスをアンロックすることを要求するアンロック要求を出力するロック／アンロック要求回路とを有し、
該プライオリティ制御回路は、
該複数のリクエスト回路の一つに含まれた上記ロック／アンロック要求回路から出力されたロック要求に応答して、そのロック要求が指定するメモリバンクのそのロック要求が指定するローアドレスが、そのリクエスト回路によりロックされたことを示す情報を記憶し、そのロック／アンロック要求回路からその後に出力されたアンロック要求に応答してそのメモリバンク内のそのローアドレスがアンロックされたことを示す情報を記憶するロック情報記憶装置と、
該複数のリクエスト回路により並列に出力された上記複数のメモリアクセスリクエストの各々が、そのメモリアクセスリクエストがアクセスするメモリバンクが、そのメモリアクセスリクエストを出力したリクエスト回路以外の他のリクエスト回路によりロックされているローアドレスを有するメモリバンクと一致するという第１の条件を満たすか否か、および、そのメモリアクセスリクエストがその第１の条件を満たす場合に、そのメモリアクセスリクエストが指定するローアドレスが、当該他のリクエスト回路によりロックされているローアドレスと一致するという第２の条件を満たすか否かを、上記ロック情報記憶装置に記憶された情報により検出する回路と、
該複数のメモリアクセスリクエストの各々に対する該検出回路による検出結果に依存して、該選択回路による選択を制御する回路とを有する。
【００２１】
より具体的には、上記制御回路は、いずれか一つのリクエスト回路より出力され、該第１の条件を満たし、該第２の条件を満たさないと該検出回路により検出された一つのメモリアクセスリクエストよりも、他のリクエスト回路より出力され、該第１、第２の条件の少なくとも一方を満たさないと該検出回路により検出された他のメモリアクセスリクエストを優先して選択するように、上記選択回路を制御する回路を有する。
【００２２】
【発明の実施の形態】
（１）装置の概要
図１は、本発明によるベクトルプロセッサの主要構成を示したものである。
【００２３】
このベクトルプロセッサは、演算部（ＡＬＵ）１と、複数のベクトルレジスタ（図示せず）を含むベクトルレジスタ部（ＶＲＵ）２と、メモリアクセスパイプライン（ＰＬ０，ＰＬ１）３，４と、記憶制御部（ＳＣＵ）５と、主記憶装置（ＭＳ）６とを備えている。
【００２４】
本実施形態例のベクトルプロセッサにおける主記憶アクセス命令としては、ロード命令とストア命令がある。ロード命令は、主記憶装置６からベクトルデータをいずれかのベクトルレジスタに格納する命令である。ストア命令は、いずれかのベクトルレジスタからベクトルデータを主記憶装置６に格納する命令である。
【００２５】
ベクトルレジスタ部２は、２つのベクトルデータ制御モジュール（ＶＤＭ０，ＶＤＭ１）７，８からなる。これらは互いに異なるベクトル命令を並列に実行する。ベクトルデータ制御モジュール７あるいは８は、それぞれ２つのベクトルデータ制御部（ＶＤＣ０，ＶＤＣ１とＶＤＣ２，ＶＤＣ３）９，１０あるいは１１，１２とからなる。
【００２６】
ベクトルデータ制御モジュール７，８は、それぞれ異なるメモリアクセスパイプライン３，４に接続されている。ベクトルデータ制御部９，１０（あるいは１１，１２）は、各々、同一のメモリアクセス命令に応答して、その命令により指定されたアクセスすべきベクトルデータをいわゆる２要素並列動作でもってアクセスするためのアクセス要求を出力するものである。具体的には、ベクトルデータ制御部９は、そのベクトルデータの一群の偶数番目の要素をアクセスするために、その一群の偶数番目の要素の先頭データ（先頭のベクトル要素、ここでは第０番目の要素）のアドレスを示すベースアドレス、連続する偶数番目のベクトル要素のアドレスの間隔を示すストライド、およびアクセスすべき一群の偶数番目のベクトル要素の個数を表すベクトル長を含むアクセス要求を、メモリアクセスパイプライン３内のメモリリクエスタ１７に出力する。同様に、ベクトルデータ制御部１０は、そのベクトルデータの一群の奇数番目の要素をアクセスするために、メモリアクセス要求をメモリアクセスパイプライン３内のメモリリクエスタ１８に出力する。ベクトルデータ制御部１１，１２は、上記命令とは異なるベクトル命令に応答して同様のアクセス要求をメモリアクセスパイプライン４内のメモリリクエスタ１９、２０に供給する。
【００２７】
ベクトルレジスタ部２は、図示されていない複数のベクトルレジスタをさらに有し、メモリアクセス命令により主記憶装置６から読み出されたベクトルデータ、あるいは主記憶装置６に書き込むベクトルデータを主記憶装置６といづれかのベクトルレジスタとの間で、ベクトルデータ制御モジュール７（又は８）と、パス２１，２２（又は２３，２４）、メモリアクセスパイプライン３（又は４）内のリクエスタ１７，１８（又は１９，２０）、パス２５，２６（又は２７，２８）、主記憶制御装置５を介して転送する。各ベクトルレジスタも２要素並列動作をするように、２要素並列に読み出しあるいは書き込み可能である。これらのベクトルレジスタの読み出し、書き込みに関する回路部分も公知なので簡単化のため図示していない。
【００２８】
メモリアクセスパイプライン３（又は４）内のリクエスタ（ＲＱ０，ＲＱ１（又はＲＱ２，ＲＱ３）１７，１８（又は１９，２０）は、ベクトルデータ制御部９，１０（又は１１，１２）からのメモリアクセス要求に応答して、それぞれの要求で指定された一群のベクトル要素の各々に対するメモリアクセス要求をそれぞれパス２５，２６（又は２７，２８）を介して主記憶制御装置５へ出力する。
【００２９】
記憶制御部（ＳＣＵ）５は、メモリリクエスタ１７〜２０により出力されたメモリアクセスリクエストの間の競合調停を行なった後、主記憶装置（ＭＳ）６にそれらのメモリアクセスリクエストを送る。
【００３０】
主記憶装置（ＭＳ）６は、４つの物理バンクグループ（ＲＢＧ０〜ＲＢＧ３）３３〜３６からなる。各物理バンクグループ３３〜３６は、それぞれ４つのメモリバンク（ＢＫ０〜ＢＫ３，ＢＫ４〜ＢＫ７，ＢＫ８〜ＢＫ１１，ＢＫ１２〜ＢＫ１５）５２〜５５，５６〜５９，６０〜６３，６４〜６７からなる。
【００３１】
各物理バンクグループ３３〜３６は、それぞれ１マシーンサイクルに一つのリクエストを処理できる。したがって、主記憶装置６全体では４つのリクエストを１サイクル当たりに並列に処理できる。
【００３２】
以上の装置構成とその動作はそれ自体は公知の装置と同じである。本実施形態例では、各メモリバンクが同期式ＤＲＡＭもしくはキャッシュ付ＤＲＡＭのような同期式ＤＲＡＭと同様のメモリにより構成される。各メモリバンクは、後に説明するように、ベクトルデータ制御モジュール７または８からのベクトルデータに対するメモリアクセスリクエストにより連続してアクセスされうる一群のベクトル要素の内の複数の要素を、ローアドレスＲＡを繰り返し印加しないで、カラムアドレスだけ変化させるという同期式ＤＲＡＭ等に特徴的なローアドレス固定モードで各メモリバンクから読み出す機会が増大するように、各メモリバンクにアドレスが割り付けられている。
【００３３】
さらに、記憶制御部５は、いずれかのベクトルデータ制御モジュール７（または８）からのメモリアクセスリクエストにより、一群のベクトル要素をアクセスしている間に、いずれかのメモリバンクに対して他のベクトルデータ制御モジュール８（または７）からのリクエストが送付されたとき、これらの二つのベクトルデータ制御モジュール７、８からのアクセスの競合を同期式ＤＲＡＭのローアドレス固定モードを利用する機会を増大するように、これらのベクトルデータ制御モジュールからのアクセス要求を調停するように構成されている。
【００３４】
例えば、いずれかのベクトルデータ制御モジュール、例えば、７が先にアクセスしたメモリバンクのあるローアドレスを今後もアクセスすることが分かっている場合、そのメモリバンクに対してはそのベクトルデータ制御モジュール７からのアクセス要求に、他のベクトルデータ制御モジュール８からのアクセス要求に対するよりも優先してアクセス権を与える。こうすることにより、そのメモリバンクに対しては、ローアドレスを変更する回数を減らすことが出来、全体としてメモリのスループットが向上する。但し、同じベクトルデータ制御モジュール７からの複数のアクセスに連続してアクセス権を与えると、他のベクトルデータ制御モジュール８からのアクセスが沈み込むので、同じベクトルデータ制御モジュールに連続してアクセス権を与える回数を一定数以下に制限する。
【００３５】
（２）アドレス割り付け
図２において、ＲＢＧ＃は、図１の物理バンクグループ３３〜３６の物理バンクグループの番号を指し、ＢＫａ＃は、各メモリバンク５２〜６７の、それが属する物理バンクグループ内の番号を指し、ＢＫ＃は各メモリバンク５２〜６７の、全物理バンクグループ内の番号を指し、ＬＢＧ＃はこれから説明する、各メモリバンクが属する論理バンクグループの番号を示す。なお、以下では、各物理バンクグループを、その物理バンクグループの番号、例えば「０」を用いて物理バンクグループＲＢＧ０と呼ぶことがある。各論理バンクグループも、その論理バンクグループの番号、例えば０を用いてＬＢＧ０と呼ぶことがある。各メモリバンクについても同様である。
【００３６】
論理バンクグループは、全物理バンクグループにまたがって定義されたメモリバンクのグループである。具体的には、第ｉ番目（ｉ＝０、１、２または３）の論理グループＬＢＧｉは、各物理バンクグループの第ｉ番目のメモリバンクにより構成される。各論理バンクグループに属するメモリバンクは、全て互いに異なる物理バンクグループに属している。各メモリバンクが属する論理バンクグループの番号ＬＢＧ＃は、そのメモリバンクの、物理バンクグループ内メモリバンク番号ＢＫａ＃に等しい。従って、各メモリバンクは、物理バンクグループ番号ＲＢＧ＃と物理バンクグループ内メモリバンク番号ＢＫａ＃との組合せあるいは物理バンクグループ番号ＲＢＧ＃と論理バンクグループ番号ＬＢＧ＃との組合せでもって特定できる。
【００３７】
図２に示したアドレス割り付けは、ブロックインタリーブの一種であり、以下のようにして実現される。連続する６４個のアドレスからそれぞれなる複数のアドレスブロックを順次異なる論理グループに割り付け、各アドレスブロック内の６４個のアドレスを、そのアドレスブロックが割り付けられた論理グループに属する４つのメモリバンクにインタリーブして割り付ける。すなわち、最初のアドレスブロックを構成するアドレス０から６３までの６４個のアドレスを、論理バンクグループＬＢＧ０に属するメモリバンクＢＫ０，ＢＫ４，ＢＫ８，ＢＫ１２にインタリーブ方式で割り付ける。第２のアドレスブロックを構成するアドレス６４から１２７までの６４個のアドレスを論理バンクグループＬＢＧ１に属するメモリバンクＢＫ１，ＢＫ５，ＢＫ９，ＢＫ１３に同様に順次割り付ける。第３のアドレスブロックを構成するアドレス１２８から１９１までの６４個のアドレスを論理バンクグループＬＢＧ２に属するメモリバンクＢＫ２，ＢＫ６，ＢＫ１０，ＢＫ１４に同様に割り付ける。第４のアドレスブロックを構成するアドレス１９２から２５５までの６４個のアドレスを論理バンクグループＬＢＧ３に属するメモリバンクＢＫ３，ＢＫ７，ＢＫ１１，ＢＫ１５に順次割り付ける。そして、さらに次のアドレスブロックを構成するアドレス２５６から始まる６４個のアドレスは、再び論理バンクグループＬＢＧ０に属するメモリバンクＢＫ０，ＢＫ４，ＢＫ８，ＢＫ１２に割り付ける。以下同様にして、これ以降のアドレスの割り付けを行なう。
【００３８】
ここでは、各メモリバンクは一つの同期式ＤＲＡＭにより構成され、メモリ内の各記憶位置は、ローアドレスＲＡとカラムアドレスＣＡによりアクセスされる。ローアドレスＲＡとカラムアドレスＣＡが採りうる範囲は、本実施形態例では特定の値に制限されるものではないが、ここでは、説明をより具体的にするために、カラムアドレスＣＡは、０から５１１までの５１２個の値を取ることができると仮定する。図２において、ＲＡ、ＣＡは、各アドレスが割り付けられているメモリバンク内の記憶位置に割り付けられているローアドレスとカラムアドレスを指す。例えば、アドレス０から３には、論理バンクグループＬＢＧ０内の４つのメモリバンクの、ローアドレス０、カラムアドレス０が割り付けられる。同様に、アドレス４から７には、論理バンクグループＬＢＧ０の４つのメモリバンクの、ローアドレス０、カラムアドレス１が割り付けられる。図から分かるように、アドレス０から２５５には、論理バンクグループＬＢＧ０からＬＢＧ３内の１６個のメモリバンクの、ローアドレス０、カラムアドレス０からローアドレス０、カラムアドレス１５が割り付けられる。以下同様にして、アドレス２５６から２０４７には、論理バンクグループＬＢＧ０からＬＢＧ３内の１６個のメモリバンクの、ローアドレス０、カラムアドレス１６からローアドレス０、カラムアドレス５１１が割り付けられる。さらに後続のアドレス２０４８以降のアドレスには、これらのメモリバンクのローアドレス１以降が割り付けられる。
【００３９】
より一般的には、物理バンクグループの数をＮ、物理バンクグループ内のメモリバンク数をＭとすると、それぞれＭ×Ｌ（Ｌは２以上の整数）個のアドレスからなる複数のアドレスブロックが、順次異なる論理グループに割り付けられ、各アドレスブロックに属するＭ×Ｌ個のアドレスは、そのアドレスブロックが割り付けられた論理グループに属するＭ個のメモリバンクの順次異なるものにインタリーブ方式に従って割り付けられる。
【００４０】
すなわち、第ｉ（ｉ＝１、２、、、またはＭ）の論理グループに属するＮ個のメモリバンクには、第（（ｉ−１）＋Ｎ（ｊ−１））×Ｍ×Ｌ＋１）番目のアドレスから第（（ｉ＋Ｎ（ｊ−１））×Ｍ×Ｌ）番目のアドレス（ｊ＝１、、、）までのアドレスからなる複数のアドレスブロックの各々が、順次インタリーブ方式に従って順次異なるメモリバンクに割り付けられる。その結果として、各論理グループに属するＭ個のメモリバンクの各々にはＬ個のアドレスが割り付けられる。図２に示した例では、Ｎ、Ｍ、Ｌはそれぞれ４、４、１６に等しい。各メモリバンクに割り付けられた複数のアドレスの内、同一のアドレスブロックに属するＬ個のアドレスは、同一のローアドレスを有し、異なるカラムアドレスを有する複数の記憶位置に割り付けられる。
【００４１】
複数の物理バンクグループに区分された複数のメモリバンクを有し、各物理バンクグループごとにプライオリティ回路によりアクセス権の調停が行われるように構成された計算機システムにおいては、以上に示したブロックインタリーブによるアドレス割り付けを用いることにより、同期式ＤＲＡＭのローアドレス固定モードを利用できる機会を増大させるすることができる。
【００４２】
例えば、いずれかのベクトルデータ制御モジュール７（または８）が、一連の連続アドレス、例えば、アドレス０から始まる連続アドレスをアクセスする場合、メモリバンクＢＫ０，ＢＫ４，ＢＫ８，ＢＫ１２のみにメモリアクセスリクエストが発行される。ベクトルデータ制御モジュール７（または８）は、要素並列で動作し、一サイクルに二つのアドレスをアクセスするので、初めのサイクルにはメモリバンクＢＫ０，ＢＫ４にアドレス０，１へのリクエストが発行され、次のサイクルにはメモリバンクＢＫ８，ＢＫ１２にアドレス２，３へのリクエストが発行され、さらに次のサイクルには再びメモリバンクＢＫ０，ＢＫ４にアドレス４，５へのリクエストが発行される。このとき、初めの４つのリクエストが発行されたメモリバンクにはローアドレス０をまずセットする必要があるが、これらのメモリバンクに次の４つのリクエストが発行されたときには前回セットしたローアドレスを利用することができるため、ローアドレス０を新たにセットする必要がなくカラムアドレスのみをセットすればよい。したがって、ローアドレスを変更せずにカラムアドレスのみ変更して順次アクセスするという、ローアドレス固定モードを使用できる。
【００４３】
さらに、本実施形態例では、同じアドレスブロックに属し、同じメモリバンクの同じローアドレスに割り付けられるアドレスの総数Ｌ（今の例では１６に等しい）は、同じメモリバンクの同じローアドレスを有する記憶位置の総数（今の例では５１２）より小さくなるように選ばれる。より望ましくは、総数Ｌは、同じメモリバンクの同じローアドレスを有する記憶位置の総数（今の例では５１２）の整数分の一、具体的には３２分の一に選ばれている。この結果、各メモリバンクの同一のローアドレスは複数のアドレスブロックに属するアドレスに割り付けられている。
【００４４】
後に説明するように本実施形態例は、次のように動作するように構成されている。ベクトルデータモジュール７あるいは８からのアクセス要求により生成される一連のメモリリクエストの内の複数のリクエストが同一のメモリバンクをアクセスする場合、そのメモリバンクを最初にアクセスするメモリリクエストが実行されるときから、そのメモリバンクを最後にアクセスするメモリリクエストが実行されるまでの間、その一連のメモリアクセスのために、そのメモリバンクがロックされるようになっている。そのメモリバンクがロックされている間、そのメモリバンクを他のベクトルデータモジュールのためのメモリリクエストはアクセスの優先度を下げられる。これにより、そのメモリバンクの、ロックされたローアドレスに属する複数のアドレスがアクセスされる間、そのメモリバンクに対しては、ローアドレス固定モードでの動作を行う機会を増大するようにしている。
【００４５】
しかし、この結果、そのようにロックされたメモリバンクは同一のリクエスタにより占有され続けるのに近い状態が生じる。従って、異なるリクエスタからのメモリアクセスリクエストをなるべく均等に処理する上で望ましくない。
【００４６】
同一のメモリバンクに属し、かつ、同一のアドレスブロックに属するアドレスは、一般に一つのリクエスタから連続してアクセスされる可能性が高い。従って、同一のローアドレスが割り当てられた複数のアドレスが複数のアドレスブロックに属していると、そのローアドレスがロックされる期間は、そのローアドレスのアドレスが一つのアドレスブロックに属している場合よりは短くなる。本実施形態例では、ローアドレス固定モードをできるだけ頻度高く使用することを狙いながら、特定のリクエスタによる過度の占有を避けるために、一つのローアドレスには、複数のアドレスブロックに属するアドレスが割り付けられるように、アドレスブロックの大きさを選ぶことが望ましい。
【００４７】
（３）リクエスタ
図３を参照するに、リクエスト生成部３００では、ベクトルデータ制御部９からパス２１を介して与えられるアクセスすべきベクトルデータの内の、一群の偶数番目のベクトル要素を指定するベースアドレス、ストライド、およびベクトル長から、主記憶装置６における一群の偶数番目のベクトル要素のアドレスを順次計算し、そのアドレスを含むリクエストを毎サイクル一つの割合で順次生成し、線３０３を介してリクエストレジスタ３１６に格納する。リクエスト生成部３００が生成するリクエストには、リクエストレジスタ３１６内に示されたように、有効なリクエストであることを示すリクエストフラグＲＥＱ、そのリクエストがストアのためのリクエストか否かを示すＳＴフラグ、このリクエストを発行したリクエスタが属するメモリアクセスパイプラインの番号ＰＬ＃、メモリアドレス、このリクエストがストアリクエストの場合にこのリクエストに含まれるストアデータとが含まれる。これらの情報の中で、メモリアクセスパイプラインの番号ＰＬ＃とアドレス以外は、対応するベクトルデータ制御部９より与えられ、メモリアクセスパイプラインの番号ＰＬ＃とアドレスはリクエスタ１７が付加する。メモリアクセスパイプラインの番号ＰＬ＃は、メモリアクセスパイプライン３、４に対してそれぞれ０、１を取る。さらに、リクエスト生成部３００は生成したリクエストがアクセスしようとするベクトル要素が、対応するベクトルデータ制御モジュール７により要求されたベクトルデータの何番目の要素であるかを示す要素番号ＥＬＭ＃を線３０４、３０５に出力する。この要素番号ＥＬＭ＃は、リクエスタ１７により連続してアクセスする一群の偶数番目のベクトル要素（あるいは一群の奇数番目のベクトル要素）に対してリクエスタ１７により出力される一群のリクエストの内、現在処理中のリクエストが何番目のリクエストであるかを示す番号で、０から始まる。リクエスト生成部３００のこのようなリクエスト生成のための内部構造はは公知であり、ここでは簡単化のためそれに関する説明は省略する。
【００４８】
リクエスタ１７は、リクエストレジスタ３１６内に示されるようにローアドレスロックビットＲＬおよびローアドレスアンロックビットＲＵＬを以下のようにして生成するところに特徴がある。リクエスト計数回路３０１では、パス２１を介して与えられるベースアドレスとストライドとベクトル長とパス３０５を介してリクエスト生成部３００から与えられる要素番号とに応答して、現在処理中のリクエストがアクセスする論理バンクグループを、現在処理中のリクエストとそれに引き続き連続してアクセスする、そのリクエスタにより発行される予定の後続のリクエストとの総数（以下、これを同一論理バンクグループ連続アクセスリクセスト数とも呼ぶ）ＮＲ０を計算する。例えば、ベースアドレスが「０」で、ストライドが「２」、ベクトル長が「３２」、現在処理中のリクエストの要素番号が「０」、すなわち最初のリクエストの場合、図２より、このリクエストがアクセスする論理バンクグループ（ＬＢＧ０）には、アドレス「０」，「２」，「４」，…，「６２」への３２個のリクエストが連続してアクセスするため、ＮＲ０は「３２」となる。
【００４９】
メモリバンク計数回路３０２では、パス２１を介してベースアドレスとストライドとベクトル長と、パス３０５を介してリクエスト生成部３００から与えられる現在処理中の要素番号ＥＬＭ＃に応答して、現在処理中のリクエストがアクセスする論理バンクグループ内に属するメモリバンクのうち、このリクエストおよびこのリクエストに続いてこのリクエスタから発行される後続のリクセストによりアクセスされるメモリバンクの総数（以下、この数を論理グループ内被アクセスメモリバンク数とも呼ぶ）ＮＢＫを計算する。例えば、ベースアドレスが「０」、ストライドが「２」、ベクトル長が「３２」、現在処理中のリクエストの番号（要素番号）が「０」の場合、図２より、このリクエストがアクセスする論理バンクグループ（ＬＢＧ０）において、全てのリクエストはメモリバンクＢＫ０またはＢＫ２をアクセスするため、ＮＢＫは「２」となる。
【００５０】
図１６を参照するに、ＲＬ／ＲＵＬビット生成部３０８では、上記の個数（ＮＲ０，ＮＢＫ）をパス３０６，３０７を介して受け取り、それぞれリクエスト数レジスタ３１０と、メモリバンク数レジスタ３１１に保持する。また、リクエスト生成部３００から現在処理中である要素番号（ＥＬＭ＃）をパス３０４を介して受け取り、要素番号レジスタ３０９に保持する。
【００５１】
この回路では、各論理バンクグループに連続してアクセスするリクエストのうち、その論理バンクグループ内の同一のメモリバンクに対して、最後にアクセスするリクエストに対するＲＡロックビットＲＬを「０」にし、ＲＡアンロックビットＲＵＬを「１」にして、それ以外のリクエストに対しては全てＲＡロックビット（ＲＬ）を「１」に、ＲＡアンロックビットＲＵＬを「０」にするように、各リクエストに対してＲＡロックビットＲＬ、ＲＡアンロックビットを生成する。
【００５２】
本実施形態例では、一つのリクエスタから出力される一連のアドレスの内の複数のアドレスにより同一メモリバンクがアクセスされる場合、それらの複数のアドレスは、同一のローアドレスに属すると仮定している。従って、このＲＬ／ＲＵＬビット生成部３０８は、同一のローアドレスをアクセスする複数のメモリアクセスリクエストの最後のもの以外に対してＲＡロックビットを１にし、その最後のメモリアクセスリクエストに対してＲＡアンロックビットＲＵＬを１にするようになっている。もし、同一のリクエスタから出力される一連のメモリアクセスリクエストが同一のメモリバンク内の複数のローアドレスに属する複数のアドレスをアクセスするときには、それらの一連のアドレスの内のいずれか一つのローアドレスに属する複数のアドレスに関して上に説明した処理を実施するように図１６を変更すればよい。
【００５３】
具体的には、比較器４０１は、要素番号ＥＬＭ＃が「０」、すなわち、リクエスト生成部３００で生成されたリクエストが最初のリクエストであるか否か判定する。最初のリクエストである場合は、セレクタ４０５によりリクエスト数レジスタ３１０のＮＲ０を選択させる。リクエストが最初のリクエストでない場合には、変数レジスタ４００を選択させる。
【００５４】
さらに、比較器４０２は、このセレクタ４０５の出力が要素番号ＥＬＭ＃以下であるか否か判定する。さらに、加算器４０７によりセレクタ４０５の出力とリクエスト数レジスタ３１０の内容であるＮＲ０を加算する。セレクタ４０５の出力が要素番号ＥＬＭ＃以下である場合は、セレクタ４０６により加算器４０７の出力を選択させ、その出力を変数レジスタ４００に変数ＮＲの新たな値として格納する。セレクタ４０５の出力が要素番号ＥＬＭ＃より大きいときには、セレクタ４０６によりセレクタ４０５の出力を選択させる。
【００５５】
上記の処理により、変数レジスタＮＲには常に、現在処理中のリクエストがアクセスしている論理バンクグループに連続してアクセスするリクエストの内の最大の要素番号より「１」大きい数が保持される。
【００５６】
さらに、減算器４０８により、セレクタ４０６の出力からメモリバンク数レジスタ３１１の内容ＮＢＫを引く。比較器４０４において要素番号ＥＬＭ＃が、この減算器の出力以上かを判定する。比較器４０３において、この要素番号ＥＬＭ＃が変数ＮＲより小さいか否かを判定する。二つの比較器４０３、４０４の出力を受けるＡＮＤゲート４０９の出力をＲＡアンロックビットＲＵＬとしてＲＡアンロックレジスタ３１３を介して線３１５に出力する。さらにこのＡＮＤゲートの出力を受けるインバータ４１０の出力をＲＡロックビットＲＬとしてＲＡロックビットレジスタ３１２を介して線３１４に出力する。この結果、二つの比較器４０３、４０４での判定がともに成立した場合には、ＲＡロックビットＲＬは「０」に、ＲＡアンロックビットＲＵＬは「１」になる。これ以外の場合には、ＲＡロックビットＲＬは「１」に、ＲＡアンロックビットＲＵＬは「０」になる。
【００５７】
リクエスト生成部３００で生成されたリクエストと、ＲＬ／ＲＵＬビット生成部３０８で生成されたＲＬ，ＲＵＬを、それぞれパス３０３と３１４，３１５を介してリクエストレジスタ３１６でマージしてメモリアクセスリクエストとする。こうして、先に述べたように、各リクエストに対してＲＡロックビットＲＬ、ＲＡアンロックビットＲＵＬが生成される。リクエスタ１８〜２０も同様である。
【００５８】
（４）記憶制御部（ＳＣＵ）
図４に示すように、記憶制御部５は、４つのリクエスタ１７〜２０に対応する４つの互いに同じ構造のリクエストバッファ部３７〜４０と、４つの物理バンクグループ３３〜３６に対応する４つの互いに同じ構造のプライオリティ制御部（ＰＲ０〜ＰＲ３）４４〜４７とからなる。図４では、ロード命令に応答して主記憶装置６から読み出したベクトルデータをベクトルレジスタユニット２（図１）に転送するための経路は簡単化のため省略している。
【００５９】
（４Ａ）リクエストバッファ部
リクエストバッファ部３７において、アドレスデコード部４１は、図５に示すように、リクエストレジスタ６８にリクエスタ１７から線２５を介して供給されたリクエストを保持する。そのリクエスト内のアドレスを、図２に示した同期式ＤＲＡＭに特化したアドレス割り付けによりアクセス出来るようにアドレス変換し、物理バンクグループ物理バンク番号ＲＢＧ＃、ＢＧ内メモリバンク番号ＢＫａ＃、およびメモリバンク内アドレスからなる変換後のアドレスを含むリクエストを生成する。メモリバンク内アドレスは、ローアドレスＲＡとカラムアドレスＣＡとよりなる。得られた新たなリクエストをリクエストレジスタ６９に保持する。
【００６０】
変換前のアドレスは５つのフィールドに分かれて変換される。本実施形態例では、図２に示したアドレス割り付けから分かるように、変換前のアドレスの第５のフィールド（最下位フィールド）ＡＤＲ５により物理バンクグループ物理バンク番号ＲＢＧ＃が決まる。本実施形態例では、物理バンクグループ物理バンク数は、４であるので、最下位フィールドＡＤＲ５は２ビットからなる。アドレスの第３のフィールドＡＤＲ３により物理バンクグループ物理バンク内のバンク番号ＢＫａ＃が決まる。物理バンクグループ物理バンク内のバンクの総数は４であるから、本実施形態例では、第３のアドレスフィールドＡＤＲ３も２ビットからなる。図２で示したとおり、物理バンクグループ物理バンク内のバンク番号は、６４を周期として変化するので、第４、第５のアドレスフィールドの総ビット数は、６ビットである。従って、第４アドレスフィールドＡＤＲ４は４ビットからなる。変換前のアドレスの第２、第４フィールドにより、カラムアドレスＣＡが決まる。本実施形態例では、図２に関して説明したとおり、同じローアドレスＲＡに対しては、カラムアドレスは５１２個あると仮定しているので、カラムアドレスＣＡは９ビットである。従って、第２アドレスフィールドＡＤＲ２は５ビットからなる。変換前の第１アドレスフィールドＡＤＲ１はそのままローアドレスＲＡとして使用される。この結果、本実施形態例では、変換前のアドレスが０〜２０４７までがいずれかの物理バンクグループ物理バンクのいずれかのメモリバンクにおけるローアドレスＲＡ＝０の記憶位置に対応する。これらのアドレスに対してカラムアドレスＣＡは、０から５１１まで変化する。アドレスが２０４７を超えると、ローアドレスが１増え、さらに２０４８個越えるごとにローアドレスが１ずつ増大する。
【００６１】
図４に戻り、リクエストバッファ部３７は、リクエスタ１７から発行されたリクエストを一時保持し、リクエスト送出制御部４３の制御によりそのリクエスト内の物理バンクグループ物理バンク番号ＲＢＧ＃が指し示す、プライオリティ制御部４４〜４７の一つにそのリクエストをパス４８〜５１の一つを介して送出する。リクエストバッファ４２およびリクエスト送出制御部４３の内部構成については前述の第３の参考文献に詳しく開示されている。ここでは簡単化のためにその詳細の説明は省略する。そこに記載の技術を参照によりここに組み込む。
【００６２】
（４Ｂ）プライオリティ制御部
プライオリティ制御部４４〜４７の各々には、リクエストバッファ部３７〜４０から最大４つのリクエストが同時に供給される。すなわち、二つのメモリアクセスパイプライン３、４にある４つのリクエスタ１７〜２０により出力された４つのリクエストが４つのリクエストバッファ部３７〜４０を経由して、各プライオリティ制御部に同時に送出されることが生じる。各プライオリティ制御部は、複数のリクエストを同時に受け取ったときには、それらの間のメモリアクセス競合を調停してそれらのリクエストを順次選択し、そのプライオリティ制御部に対応する物理バンクバンクグループ３３〜３６の一つにそれらのリクエストを順次送る。
【００６３】
本実施形態例では、同期式ＤＲＡＭの特徴であるローアドレス固定モードが使用される回数を増大するように、メモリアクセスパイプライン３および４に関連する二つのリクエストを調停するところに特徴がある。より具体的には、このために、ローアドレスをロックする回路を有し、あるメモリアクセスパイプラインによりロックされたローアドレスを有するメモリバンクの他のローアドレスを他のアクセスパイプラインからのリクエストがアクセスしようとするときには、当該リクエストより他のリクエストを優先するようになっている。
【００６４】
図６を参照するに、各プライオリティ制御部、例えば４４は、ＲＡ管理部７８と、バンクビジー管理部７９と、リクエストレジスタ８８〜９１，９８と、プライオリティ回路９６とからなる。リクエストレジスタ８８〜９１はそれぞれリクエストバッファ部３７〜４０に対応して設けられたリクエストレジスタで、それぞれリクエストバッファ部３７〜４０の一つから送出された後続のリクエストに対してＲＡ管理部７８により生成されるＲＡ一致ビットＲＭとＲＡ変更禁止ビットＲＩと、さらにバンクビジー管理部７９によりその後続のリクエストに対して生成されるバンクビジービットＢＢとを組み合わせて保持する。これらのリクエストレジスタ８８〜９１の一つに保持されたリクエストが、プライオリティ回路９６によりすぐに選択されなかったときには、パス４８〜５１の一つから、その選択されなかったリクエストがそのレジスタに繰り返して供給され、そのリクエストレジスタは、そのリクエストを毎サイクル繰り返し保持する。この間、ＲＡ管理部７８は、パス４８〜５１の一つを介して繰り返し供給されるそのリクエストに対して、プライオリティ回路９６により新たに選択されたリクエストに依存して、ＲＡ一致ビットＲＭとＲＡ変更禁止ビットＲＩの新たな値を毎サイクル決定する。同様に、バンクビジー管理部７９もそれらのリクエストに対してバンクビジービットＢＢを毎サイクル新たに生成する。
【００６５】
ＲＡ管理部７８は、このプライオリティ制御部に対応する物理バンクバンクグループ内の４つのメモリバンクの各々に対応して、そのメモリバンクを最近にアクセスしたリクエストを記憶し、パス４８〜５１のいずれか、例えば４８を介してリクエストバッファ部３７から新たに後続のリクエストが送られるごとに、その後続のリクエストが指定する物理バンクグループ内メモリバンク番号ＢＫａ＃を有するメモリバンクに対応して記憶してある、先行するリクエストのローアドレスＲＡと、その後続のリクエストのローアドレスＲＡとを比較する。もし、これらのローアドレスが一致した場合には、リクエストレジスタ８８〜９１の内、その後続のリクエストを送出したリクエストバッファ部３７に対応する一つのリクエストレジスタ８８に、パス８０を介して値「１」を有するＲＡ一致ビットＲＭを送出する。
【００６６】
さらにＲＡ管理部７８では、上記比較の結果、二つのローアドレスが一致する場合、この先行するリクエストにより上記メモリバンクがロックされている場合には、次のようにしてこの後続のリクエストに対してリクエストレジスタ８８に供給すべきＲＡ変更禁止ビットＲＩの値を１にする。すなわち、ＲＡ管理部７８は、いずれかのメモリアクセスパイプライン、例えば４、の中のいずれかのリクエスタ、たとえば、１９から発行された、一群の偶数番目のベクトル要素に対するアクセスを要求する一群のリクエストの内、いくつかのすでに実行された先行するリクエストが、すでにある一つのメモリバンクをアクセスしており、その一群のリクエストの内のこれから実行される予定の後続のリクエストもそのメモリバンクをアクセスし、かつ、そのメモリバンクをアクセスするこれらの先行するリクエストおよび後続のリクエストが指定するローアドレスＲＡが互いに一致する場合、そのメモリバンクに関してそのローアドレスをロックするようになっている。もし、あるメモリバンクのあるローアドレスが、あるメモリアクセスパイプライン、今の例では、４のためにロックされた場合、他のメモリアクセスパイプライン、今の例では３からのメモリリクエストに基づいて、例えば、リクエストバッファ３７により発行されたこれから実行されるべき後続のリクエストが、このメモリバンクの中の異なるローアドレスを有する記憶位置をアクセスする場合、この後続のリクエストに対してＲＡを変更することを禁止するために、この後続のリクエストに対して与えるＲＡ変更禁止ビットＲＩを「１」にする。ＲＡ管理部７８の詳細は後に示す。
【００６７】
バンクビジー管理部７９では、対応する物理バンクバンクグループの各メモリバンク毎にそのバンクがビジー状態にあるときには引き続きそのビジー状態にあると予想される時間を表すバンクビジータイムＢＴを記憶するようになっている。パス４８〜５１のいずれか、例えば、４８から前述のように後続のリクエストが供給された場合、この後続のリクエストが指定する物理バンクグループ物理バンク内メモリバンク番号ＢＫａ＃を有するメモリバンクに対応して記憶してあるバンクビジータイムＢＴを参照し、もしそのメモリバンクがビジーであれば、パス８４〜８７の一つ、今の例では、８４を介してリクエストレジスタ８８〜９１の一つ、今の例では８８に値１のバンクビジービットＢＢを供給する。バンクビジー管理部７９の詳細は後に説明する。
【００６８】
プライオリティ回路９６は、リクエストレジスタ８８〜９１内の４つのリクエストの一つを毎サイクル選ぶ。このとき、対応する物理バンクバンクグループ内の４つのメモリバンクが、できるだけローアドレスを変えないで連続してアクセスされるように、これらのリクエストのＲＡ一致ビットＲＭ、ＲＡ変更禁止ビットＲＩおよびバンクビジービットＢＢを用いて、リクエストを選択する。プライオリティ回路９６の詳細は後に述べる。
【００６９】
プライオリティ回路９６により選択されたリクエストは、リクエストレジスタ９８にセットされる。そのリクエストの内、カラムアドレスＣＡ、ローアドレスＲＡ、リクエスト選択成功信号ＳＳおよびバンクグループ内メモリバンク番号ＢＫａ＃は、それぞれ、パス９９〜１０２およびそれらを束ねたパス２９を介して主記憶装置６に送られる。なお、後に説明するように、このリクエストのいろいろの信号が、ＲＡ管理部７８およびバンクビジー管理部７９にも送られる。
【００７０】
（４Ｃ）プライオリティ回路
図１１を参照するに、プライオリティ回路９６では、リクエストレジスタ２３１〜２３４は、パス９２〜９５を介してリクエストレジスタ８８〜９１からそれぞれリクエストを受け取る。すなわち、リクエストレジスタ２３１又は２３２はメモリアクセスパイプライン３内のリクエスタ１７又は１８から発行された一群のリクエストを順次保持する。同様に、リクエストレジスタ２３３又は２３４はメモリアクセスパイプライン４内のリクエスタ１９又は２０から発行された一群のリクエストを順次保持する。リクエストレジスタ２３１内にリクエストを構成するいろいろの情報を図に示す。
【００７１】
セレクタ２３９は、リクエストレジスタ２３１，２３２の両方に有効なリクエストがある場合は、プライオリティレジスタ２４３が与えるセレクト信号２４４にしたがってどちらか一方を選択し、どちらか一方にしか有効なリクエストがない場合には、プライオリティレジスタ２４３が示すセレクト信号２４４に依存しないで、その有効なリクエストを選択する。セレクタ２４０も同様にリクエストレジスタ２３３、２３４から一つのリクエストをプライオリティレジスタ２４６の値にしたがって選択する。
【００７２】
セレクタ２３９は、選択したリクエストがリクエストレジスタ２３１と２３２のいずれに保持されているリクエストであるかを示す値が０または１のレジスタ識別番号をパス２４５を介してプライオリティレジスタ２４３に供給する。プライオリティレジスタ２４３は、このレジスタ識別番号を反転した値をセレクタ２３９にセレクト信号としてパス２４４を介して供給する。これによりセレクタ２３９は基本的にはレジスタ２３１と２３２を交互に選択する。他のリクエストレジスタ２３３、２３４、セレクタ２４０、プライオリティレジスタ２４６も全く同様に動作する。
【００７３】
セレクタ２３９，２４０で選択されたリクエストは、それぞれパス２４１，２４２を介してリクエストレジスタ２４９，２５０に転送される。リクエストレジスタ２３１および２３２はメモリアクセスパイプライン３からのリクエストを保持し、リクエストレジスタ２３３、２３４はメモリアクセスパイプライン４からのリクエストを保持するので、リクエストレジスタ２４９にはメモリアクセスパイプライン３からのリクエストのうち選択されたものが保持され、リクエストレジスタ２５０にはメモリアクセスパイプライン４からのリクエストのうち選択されたものが保持されることになる。
【００７４】
リクエストレジスタ２４９，２５０に保持されたリクエストは、それぞれ、パス２５１，２５２を介してＲｅｑ変換回路２９０，２９１に送出される。Ｒｅｑ変換回路２９０は、そこに送出されたリクエストが有効なリクエストではあるが、そのリクエストが要求するメモリバンクがビジーの時（ＢＢ＝１）のときに、そのリクエストのリクエストフラグＲｅｑを０にする回路で、これによりこのリクエストを無効にする。このリクエストが要求するバンクがビジーのために実行できないので、本プライオリティ回路９６での選択の対象からはずす。Ｒｅｑ変換回路２９１についても同じである。
【００７５】
スイッチ２５３は、リクエストレジスタ２４９，２５０に保持された二つのリクエストの一方を選択する回路であり、ＰＬ間プライオリティ管理部２９９はこのスイッチを制御するセレクト信号２８６を与える回路で、本実施形態例の特徴的な回路の一つである。この回路によるスイッチ２５３でのリクエスト選択を制御するときの動作条件は以下の通りである。
【００７６】
（１）有効なリクエストの中では、ローアドレス固定モードでの動作の回数を増大するようなリクエストを、そうでないリクエストより優先する。
【００７７】
この条件（１）は、具体的には次の条件にする。
【００７８】
（１Ａ）各メモリバンクに対して最近にアクセスされたローアドレスと異なるローアドレスをアクセスするリクエストより、その最近にアクセスされたローアドレスと同じローアドレスをアクセスするリクエストを優先する。
【００７９】
この条件（１Ａ）は、さらにより具体的には、次の条件にする。
【００８０】
（１ＡＡ）一方のメモリアクセスパイプラインからのメモリアクセスリクエストによりロックされたローアドレスを有するメモリバンクに対して、他方のメモリアクセスパイプラインからのリクエストがそのロックされたローアドレスと異なるローアドレスをアクセスするときには、そのリクエストより、上記一方のメモリアクセスパイプラインからのリクエストを優先する。
【００８１】
この条件（１ＡＡ）は、さらにより具体的には、次の条件にする。
【００８２】
（１ＡＡＡ）一方のメモリアクセスパイプラインからのメモリアクセスリクエストによりロックされたローアドレスを有するメモリバンクに対して、他方のメモリアクセスパイプラインからのリクエストがそのロックされたローアドレスと異なるローアドレスをアクセスするときには、上記一方のメモリアクセスパイプラインからの所定数ｎ（ｎは複数）個の有効なリクエストが選択された後に、上記他方のメモリアクセスパイプラインからの上記リクエストを選択する。
【００８３】
（２）二つのメモリアクセスパイプラインからのメモリアクセスリクエストがともに、有効で、上記の条件（１）（あるいはそれのより具体的な条件（１Ａ）から（１ＡＡＡ））に該当しない時には、それらのメモリアクセスパイプラインからのメモリアクセスリクエストをほぼ同じ優先度で選択する。
【００８４】
（３）一方のメモリアクセスパイプラインからのメモリアクセスリクエストが有効で、他方のメモリアクセスパイプラインからのメモリアクセスリクエストが無効の場合、その有効なリクエストが上記の条件（１）（あるいはそれのより具体的な条件（１Ａ）から（１ＡＡＡ））に該当しない時には、その有効なリクエストを選択する。
【００８５】
（４）無効なリクエストは選択しない。但し、他に選択可能な有効なリクエストがない場合には、無効なリクエストを選択するようにしてもよい。
【００８６】
以下、スイッチ２５３とＰＬ間プライオリティ管理部２９９の動作を詳細に説明する。スイッチ２５３は、ＰＬ間プライオリティ管理部２９９からのセレクト信号に依存して、リクエストレジスタ２４９，２５０のどちらか一方から有効なリクエストを選択し、選択されたリクエストをパス９７に送出し、有効なリクエストの選択が成功したことを示すリクエスト選択成功信号ＳＳと選択されたリクエストのメモリアクセスパイプライン番号ＰＬ＃とをパス２５４を介してＰＬ間プライオリティ管理部２９９に送出する。さらに、スイッチ２５３は、リクエストレジスタ２４９、２５０をそれぞれ選択したときに、それぞれパス５００、５０１を介してそのことをセレクタ２３９、２４０に通知する。スイッチ２５３において選択されたリクエストはリクエストレジスタ２４９，２５０から削除され、選択されなかったリクエストはそのままリクエストレジスタ２４９，２５０に保持される。
【００８７】
ＰＬ間プライオリティ管理部２９９には、リクエストレジスタ２４９、２５０からリクエストがそれぞれ線２５８、２５９を介して送られる。但し、それらのリクエスト内のリクエストフラグＲｅｑは送られない。それに代えて、Ｒｅｑ変換回路２９０、２９１から線２９２、２９３を介して送られる。図１２に示すように、ＰＬ間プライオリティ管理部２９９では、デコーダ２５７は、パス２５４を介してスイッチ２５３（図１１）から与えられる、選択されたリクエスト内のメモリアクセスパイプライン番号ＰＬ＃をデコードし、この番号が０のときには、パス２６１，２６２にそれぞれ１、０を出力し、この番号が１のときには、パス２６１，２６２にそれぞれ０、１を出力する。
【００８８】
ＮＯＴゲート２８７には、パス２５８を介してリクエストレジスタ２４９から、メモリアクセスパイプライン３からのリクストのＲＡ一致ビットＲＭが与えられる。同様にＮＯＴゲート２８８には、パス２５９を介してリクエストレジスタ２５０から、メモリアクセスパイプライン４からのリクストのＲＡ一致ビットＲＭが与えられる。ＡＮＤゲート６００には、ＮＯＴゲート２８７の出力と線２５８、６１１を介して与えられるＲＬ更新禁止信号ＲＩが与えられる。同様に、ＡＮＤゲート６０１には、ＮＯＴゲート２８８の出力と線２５９を介して与えられるメモリアクセスパイプライン４からのリクエストのＲＬ更新禁止信号ＲＩが与えられる。ＡＮＤゲート２６３には、メモリアクセスパイプライン３に対するＲｅｑ更新回路２９０により線２９２を介して与えられるリクエストフラグＲｅｑ、スイッチ２５３から線２５４、２５５を介して与えられるリクエスト選択成功信号ＳＳ、ＡＮＤゲート６００の出力２６０、デコーダ２５７の出力２６２が入力される。同様に、ＡＮＤゲート２７０には、メモリアクセスパイプライン４に対するＲｅｑ更新回路２９１により線２９３を介して与えられるリエストフラグＲｅｑ、スイッチ２５３から線２５４、２５５を介して与えられるリクエスト選択成功信号ＳＳ、ＡＮＤゲート６０１の出力２８９、デコーダ２５７の出力２６１が入力される。ＡＮＤゲート６０２には、リクエスト選択成功信号ＳＳとデコーダ２５７の出力２６１が入力される。同様に、ＡＮＤゲート６０３には、リクエスト選択成功信号ＳＳとデコーダ２５７の出力２６２が入力される。
【００８９】
カウンタ２６５は、リクエスト選択成功信号ＳＳが１になり、かつ、デコーダ２５７の出力２６１が１になったときにリセットされ、ＡＮＤゲート２６３の出力２６４が１になった回数をカウントする。同様に、カウンタ２７２は、リクエスト選択成功信号ＳＳが１になり、かつ、デコーダ２５７の出力２６２が１になったときにリセットされ、ＡＮＤゲート２７０の出力２７１が１になった回数をカウントする。
【００９０】
ＮＯＴゲート２８７の出力は、図１１のリクエストレジスタ２４９に保持されたリクエストのＲＡ一致ビットＲＭが「０」である場合、すなわち先行するリクエストのＲＡとレジスタ２４９内の後続のリクエストのＲＡとが一致しなかった場合に、ＡＮＤゲート６００に「１」を入力する。ＡＮＤゲート６００の出力は、ＡＮＤゲート２６３に入力される。同様に、ＮＯＴゲート２８８は、図１１のリクエストレジスタ２５０に保持されたリクエストのＲＡ一致ビットＲＭが「０」である場合、すなわち先行するリクエストのＲＡとレジスタ２５０内の後続のリクエストのＲＡとが一致しなかった場合に、ＡＮＤゲート６０１に「１」を入力する。ＡＮＤゲート６０１の出力は、ＡＮＤゲート２７０に入力される。デコーダ２５７は、図１１のスイッチ２５３で選択された先行するリクエストのメモリアクセスパイプライン番号ＰＬ＃をデコードして、結果をパス２６１，２６２を介してＡＮＤゲート６０２，２７０，２６３，６０３に入力する。そして、ＡＮＤゲート２６３の出力をカウンタ２６５のセット（ｓｅｔ）に、ＡＮＤゲート６０２の出力をカウンタ２６５のリセット（ｒｅｓｅｔ）に入力する。また、ＡＮＤゲート２７０の出力をカウンタ２７２のセット（ｓｅｔ）に、ＡＮＤゲート６０３の出力をカウンタ２７２のリセット（ｒｅｓｅｔ）に入力する。
【００９１】
例えば、パス２９３上のＲｅｑが「１」、パス２９２上のＲｅｑが「１」、パス２５５上のＳＳが「１」のときに、パス２５８上のＲＭが「１」、パス２５９上のＲＭが「０」、パス２５９上のＲＩが「１」、パス２５８上のＲＩが「０」、デコーダ２５７に入力するＰＬ＃が「０」であると仮定する。
【００９２】
ＰＬ＃が「０」であることは、スイッチ２５３において選択された先行するリクエストがメモリアクセスパイプライン３から発行されたものであることを示す。この場合には、デコーダ２５７の出力２６１が１となる。パス２５９上のＲＩが「１」であることは、リクエストレジスタ２５０内にある、メモリアクセスライン４からのリクエストが要求するメモリバンクのいずれかのローアドレスがロックされていることを示す。さらに、パス２５９上のＲＭが「０」であることは、メモリアクセスパイプライン４からのこの、リクエストのローアドレスと、ロックされているローアドレスとが一致しなかったことを示す。
【００９３】
このようにあるメモリバンクがロックされているローアドレスを有するということは、本実施形態例でのロックの定義から明らかなように、（１）アクセスパイプライン３からの一連のメモリアクセスリクエストの中に、複数のメモリアクセスリクエストがあること、（２）さらに、それらの複数のメモリアクセスリクエストの内の先頭のものはすでに実行されたこと、（３）しかし、それらのメモリアクセスリクエストの内の最後のものはまだ実行されていないことを示す。すなわち、このメモリバンクは、本実施形態例では、ローアドレス固定モードで動作している。従って、リクエストレジスタ２５０にある、アクセスパイプライン４からのリクエストに、このメモリバンクへのアクセスを許すと、このリクエストのために、このメモリバンクをそれまでアクセスしたローアドレスと異なるローアドレスでもってアクセスすることになる。
【００９４】
言い換えると、このメモリバンクは、ローアドレス固定モードでの動作を終了した上で、別のローアドレスを新たにアクセスしなければならない。本実施形態例では、このように、ローアドレス固定モードでの動作の回数を減少するリクエストは選択しない。このリクエストより、他のリクエスト、今の例では、メモリバンクをロックをしているメモリアクセスリクエスト、今の例で３、からのアクセスを優先する。本実施形態例では、メモリアクセスパイプライン３からの、所定数ｎのリクエストが選択された後に、このメモリアクセスリクエスト４からの上記リクエストを選択するようになっている。このための選択動作は後に説明する。ＡＮＤゲート６０１の出力は、メモリアクセスパイプライン４からのリクエストが上に述べた特殊な条件を満たす、実行されないリクエストであるときに１となる。ＡＮＤゲート６００も同様である。
【００９５】
上記の値ｎは、プロセッサシステムの全体の性能が大きくなるように適宜性能を測定して選ぶことが望ましい。値が大きいほど、ローアドレス固定モードで動作する機会が増大し、プロセッサシステムの性能が増大するが、一方のメモリアクセスパイプラインからのリクエストが選択されない期間が増大し、その性能が相対的に低下する可能性がある。但し、一つのローアドレスに属する異なるカラムアドレスの総数（図２の例では１６）よりは小さくすることが望ましい。
【００９６】
カウンタ２７２は、このような状態でメモリアクセスリクエスト３からのリクエストが引き続き選択される回数を数えるためのものである。同様に、カウンタ２６５はメモリアクセスパイプライン４からのリクエストが選択される回数をカウントするためのものである。今の仮定の場合には、ＡＮＤゲート６０１の出力２８９が「１」となる。結局、ＡＮＤゲート２７０の出力２７１が「１」となる。これによりカウンタ２７２のセット入力が「１」となり、カウンタ２７２の値が１だけカウントアップされる。一方、ＡＮＤゲート６０２の出力も１となるので、カウンタ２６５はリセットされる。このように、本実施形態例では、カウンタ２６５，２７２のいずれか一方がカウントアップされるとき、他方は必ずリセットされるため、常にどちらか一方の値は「０」となる。
【００９７】
比較器２６８は、カウンタ２６５の値と数値「ｎ」を比較し、一致あるいは不一致が検出されたときにそれぞれ値１、０を取る比較結果をエンコーダ２７７およびＮＯＲゲート２７９に送出する。比較器２７５も同様にカウンタ２７２と値「ｎ」との比較を行う。この結果、ＮＯＲゲート２７９の出力は、カウンタ２６５、２７２の少なくとも一方の値がｎに達したときに１になる。
【００９８】
エンコーダ２７７は、比較器２６８、２７５の出力をコード化した信号を、セレクタ２８５に送出する。例えば、比較器２６８，２７５の出力がそれぞれ「１」、「０」であるとき、エンコーダ２７７の出力は「０」となる。比較器２６８，２７５の出力がそれぞれ「０」，「１」であるとき、エンコーダ２７７の出力は「１」となる。ＮＯＲゲート２７９の出力は、セレクタ２８５にセレクト信号として送出される。セレクタ２８５は、ＮＯＲゲート２７９の出力が１のときに、すなわち、比較器２６８、２７５のいずれかの出力が１になったとき、すなわち、カウンタ２６５、２７２のいずれかのカウント値がｎになったときに、エンコーダ２７７の出力を選択する。こうして、カウンタ２６５あるいは２７５の値がｎに達したときに、それまで選択されない状態にあったリクエストを選択する信号がセレクタ２８５により生成される。
【００９９】
セレクタ２８５は、カウンタ２６５、２７２のいずれもがカウント値がｎになっていないときには、パス２８４を選ぶ。このパスには以下のようにしてメモリアクセスパイプラインの番号が生成される。
【０１００】
ＮＯＴゲート２８１には、スイッチ２５３（図１１）からパス２５６、６１２を介してメモリアクセスパイプライン番号ＰＬ＃が供給され、その出力は、プライオリティレジスタ２８３の入力「Ｄ」に送出される。このプライオリティレジスタ２８３のイネーブル入力「Ｅ」には、スイッチ２５３（図１１）からパス２５４、２５５を介してリクエスト選択成功信号ＳＳが入力され、このプライオリティレジスタ２８３のデータ入力「Ｄ」には、ＮＯＴゲート２８１の出力が入力される。すなわち、プライオリティレジスタ２８３は、リクエスト選択成功信号ＳＳが「１」である場合にのみ、メモリアクセスパイプライン番号ＰＬ＃を反転した値を保持する。
【０１０１】
ＡＮＤゲート６０５には、パス２９３を介して供給されるリクエストフラグＲｅｑとＮＯＴゲート６０７により反転されたＡＮＤゲート６０１の出力とが入力される。結局、ＡＮＤゲート６０５の出力は、メモリアクセスパイプライン４からのリクエストが有効なリクエストであり、かつ、このリクエストに対して、実行禁止のための前述の条件（ＲＩ＝１、ＲＭ＝０）が成立しないときに１となる。セレクタ６０９は、ＡＮＤゲート６０５の出力がそれぞれ「０」の場合に、すなわち、アクセスパイプライン４からのリクエストが無効か（ここで、無効なリクエストにはＲｅｑ反転回路２９０又は２９１により無効にされたリクエストを含む。以下でも同様である。）、あるいは、有効、かつ、このリクエストが上記実行禁止条件を満たす時に、アクセスパイプライン番号「０」を選択する。セレクタ６０９は、ＡＮＤゲート６０５の出力がそれぞれ「１」の場合に、すなわち、アクセスパイプライン４からのリクエストが有効、かつ、上記実行禁止条件を満たさない時に、アクセスパイプライン番号「１」を選択する。
【０１０２】
ＡＮＤゲート６０４、ＮＯＴゲート６０６は、それぞれＡＮＤゲート６０５、ＮＯＴゲート６０７と同様である。従って、ＡＮＤゲート６０４の出力は、アクセスパイプライン３からのリクエストが無効か、あるいは有効、かつ、上記実行禁止条件を満たす時に０となる。ＡＮＤゲート６０４の出力は、アクセスパイプライン３からのリクエストが有効で、上記実行禁止条件を満たさない時に１になる。排他的論理和ゲート６０８には、ＡＮＤゲート６０４と６０５の出力が入力される。セレクタ６１０は、排他的論理和ゲート６０８の出力が０のときに、プライオリティレジスタ２８３の出力を選択し、排他的論理和ゲート６０８の出力が１のときに、セレクタ６０９の出力を選択する。
【０１０３】
セレクタ２８５は、ＮＯＲゲート２７９の出力が「０」の場合、すなわちカウンタ２６５，２７２のいずれもが「ｎ」になっていない場合に、セレクタ６１０の出力２８４を選択する。ＡＮＤゲート６０４、６０５の出力がともに１になるのは、二つのリクエストがともに有効で、かつ、二つのリクエストに対して、上記実行禁止条件がともに成立しない場合である。このときには、排他的論理和ゲート６０８の出力は０となり、セレクタ６１０は、プライオリティレジスタ２８３の出力を選択する。プライオリティレジスタ２８３では、直前に選択されたメモリアクセスパイプラインではない方のメモリアクセスパイプラインの番号を保持している。従って、ＰＬ間プライオリティ管理部は、スイッチ２５３（図１１）によりリクエストが選択される毎に、選択されていないメモリアクセスパイプラインからのリクエストを選択するように、メモリアクセスパイプライン間のプライオリティを交互に１サイクルごとに切り替える。これにより、二つのメモリアクセスパイプラインによるメモリアクセスの機会の均等化を図る。
【０１０４】
ＡＮＤゲート６０４、６０５の一方の出力が０で、他方の出力１になるのは、一方のリクエストが無効、もしくは有効かつ上記実行禁止条件を満たし、他方のリクエストが、有効、かつ、上記実行禁止条件を満たさない場合である。この場合には、上記他方のリクエストを選択すればよい。例えば、ＡＮＤゲート６０５が１でＡＮＤゲート６０６が０の場合には、メモリアクセスパイプライン３からのリクエストが無効、もしくは有効かつ上記実行禁止条件を満たし、メモリアクセスパイプライン４からのリクエストが、有効、かつ、上記実行禁止条件を満たさない場合である。この場合には、ＡＮＤゲート６０５の出力１により、セレクタ６０９は、メモリアクセスパイプライン番号として１を選択する。この場合には、排他的論理和ゲート６０８の出力は１となり、セレクタ６１０は、このセレクタ６０９の出力１を選択する。こうして、メモリアクセスパイプライン番号１が選ばれ、メモリアクセスパイプライン４からのリクエストが選択される。ＡＮＤゲート６０４の出力が１、ＡＮＤゲート６０５の出力が０の場合には、セレクタ６１０は、同様にして、メモリアクセスパイプライン番号０を選択する。
【０１０５】
ＡＮＤゲート６０４、６０５の出力がともに０になるのは、一方のリクエストが無効、もしくは有効かつ上記実行禁止条件を満たし、他方のリクエストが無効な場合である。本実施形態例では、二つのリクエストが有効、かつ、上記実行禁止条件を満たす場合にもＡＮＤゲート６０４、６０５の出力がともに０になるが、本実施形態例ではこのように二つのリクエストに対して同時に上記実行禁止条件を満たすことは生じないようになっているので、こういう場合は起きない。従って、ＡＮＤゲート６０４、６０５の出力がともに０になった場合には、いずれのリクエストも選択する必要がない。この場合には、排他的論理和ゲート６０８の出力は１となるので、判定回路６２０は、この出力が１で、ＡＮＤゲート６０４、６０５の出力がともに０であるかを判定し、そうであるときには、線２９８を介してスイッチ２５３（図１１）に選択不要信号を送出する。
【０１０６】
図１１に戻り、スイッチ２５３は、パス２８６から与えられる選択信号が指定するメモリアクセスパイプラインの番号に従って、リクエストレジスタ２４９、２５０のいずれかのリクエストを選択してパス９７を介してリクエストレジスタ９８（図６）に送出する。このとき、選択されたリクエストがメモリバンクをアクセスする間このメモリバンクが占有される時間を示すあらかじめ定めたバンクビジータイムＢＴを、この選択されたリクエストに付加する回路（図示せず）を内蔵している。
【０１０７】
なお、各物理バンクグループ３３、３４、３５または３６は、プライオリティ回路９６から新たなリクエストが送られる度に、そのリクエスト内のＲＡロックビット、ＲＡアンロックビットを見て、そのリクエストが要求するメモリバンクの動作モードを制御する回路（図示せず）を有する。すなわち、そのＲＡロックビットが１である時には、その回路は、そのメモリバンクがすでにローアドレス固定モードでは動作していない状態にあるときには、そのメモリをローアドレス固定モードで動作させ、そのリクエストをそのメモリバンクに対して実行する。もし、そのメモリバンクがすでにローアドレス固定モードでは動作している状態にあるときには、そのメモリバンクを引き続きローアドレス固定モードで動作させてそのリクエストをそのメモリバンクに対して実行する。また、そのリクエストのＲＡアンロックビットが１であるときに、そのメモリバンクをローアドレス固定モードのままでそのリクエストをそのメモリバンクに対して実行し、その後、そのメモリをローアドレス固定モードでない状態にする。
【０１０８】
（４Ｄ）ＲＡ管理部
図７を参照するにＲＡ管理部７８は、ローアドレス一致信号ＲＭを生成するためのＲＡ一致制御部１１３と、ローアドレス更新禁止信号ＲＩを生成するためのＲＡロック制御部１１４とからなる。
【０１０９】
図８を参照するに、ＲＡ一致制御部１１３では、ＲＡレジスタ１２８は、対応する４つのメモリバンクに対して最近にアクセスされたローアドレスを保持するための、４つのフィールドＲＡ０〜ＲＡ３を有する。プライオリティ制御部４４（図６）のプライオリティ回路９６により新たにリクエストが選択され、そのリクエストがリクエストレジスタ９８にセットされると、リクエストレジスタ９８から、この選択されたリクエストに含まれているローアドレスＲＡ、リクエスト選択成功信号ＳＳ、物理バンクグループ内バンク番号ＢＫａ＃とがそれぞれパス１００、１０１、１０２を介してスイッチ１２３に供給される。スイッチ１２３は、ＲＡレジスタ１２８内の、物理バンクグループ内バンク番号ＢＫａ＃を有する一つのメモリバンクに対応するフィールドに、送信されたローアドレスＲＡを書き込む。
【０１１０】
セレクタ１３３〜１３６および比較器１４９〜１５２は、それぞれ４つのメモリバンクに対応して設けられている。例えば、セレクタ１３３は、パス４８を介して供給された後続のリクエストが指定するバンクグループ内メモリバンク番号ＢＫａ＃に応答して、ＲＡレジスタ１２８内の、この番号ＢＫａ＃を有するメモリバンクを最後にアクセスしたローアドレスを選択して、比較器１４９に供給する。比較器１４９は、パス４８を介して供給される後続のリクエストが指定するローアドレスとセレクタ１３３から出力されるローアドレスとを比較し、両者が一致すれば、その後続のリクエストに対してローアドレス一致信号ＲＭをパス８０を介してリクエストレジスタ８８（図６）に供給する。他のセレクタ１３４〜１３６、比較器１５０〜１５２についても同じである。
【０１１１】
図９を参照するに、ＲＡロック制御部１１４には、ＲＡロックレジスタ１７８、１９６がそれぞれメモリアクセスパイプライン３，４に対応して設けられている。ＲＡロックレジスタ１７８は、それぞれ４つのメモリバンクに対応する、それぞれ１ビットからなる４つのＲＡロックビットＲＬ００〜０３を有する。ＲＡロックビットＲＬ００〜０３の第１の添字はメモリアクセスパイプラインの番号０を示し、第２の添字は対応するメモリバンクの物理バンクグループ物理バンク内メモリバンク番号を示す。各ＲＡロックビット、例えば、ＲＬ００は、対応するメモリアクセスパイプライン０からのリクエストがメモリバンクＢＫａ＃０のローアドレスをロックしているか否かを示す値１または０を採る。ＲＡロックレジスタ１９６についても同様である。
【０１１２】
プライオリティ制御部４４（図６）のプライオリティ回路９６により新たにリクエストが選択され、そのリクエストがリクエストレジスタ９８（図６）にセットされると、リクエストレジスタ９８からこの選択されたリクエストに含まれているそのリクエストのローアドレスロックビットＲＬがパス１０３を介して、ＲＡロックレジスタ１７８の各フィールドに対応して設けられ、それぞれのセット入力に接続されたＡＮＤゲート１６２、１６４、１６６、１６８およびＲＡロックレジスタ１９８の各フィールドに対応して設けられ同様のＡＮＤゲート１８０、１８２、１８４、１８６に供給される。さらに、そのリクエストのローアドレスアンロックビットＲＵＬもパス１０３を介して、ＲＡロックレジスタ１７８の各フィールドに対応して設けられ、それぞれのリセット入力に接続されたＡＮＤゲート１６３、１６５、１６７、１６９およびＲＡロックレジスタ１９８の各フィールドに対応して設けられ同様のＡＮＤゲート１８１、１８３、１８５、１８７に供給される。
【０１１３】
さらに、その選択されたリクエストのメモリアクセスパイプライン番号ＰＬ＃がパス１０３を介してデコーダ１５４に供給される。デコーダ１５４は、この番号ＰＬ＃が０のときには、パス１５９を介して、メモリアクセスパイプライン３に対応するＲＡロックレジスタ１７８に接続されたＡＮＤゲート１６２〜１６９に値１を供給する。同様に、番号ＰＬ＃が１のときには、パス１６０を介して、メモリアクセスパイプライン４に対応するＲＡロックレジスタ１９６に接続されたＡＮＤゲート１８０〜１８７に値１を供給する。
【０１１４】
さらに、その選択されたリクエストの物理バンクグループ内バンク番号ＢＫａ＃がパス１０２を介してデコーダ１５３に供給される。デコーダ１５３は、この番号ＢＫａ＃が０、１、２、３のときには、それぞれパス１５５、１５６、１５７、１５８を介して、ＲＡロックレジスタ１７８内のＲＡロックビットＲＬ００、ＲＬ０１、ＲＬ０２、ＲＬ０３に接続された一対のＡＮＤゲート１６２と１６３、１６４と１６５、１６６と１６７、１６８と１６９、およびＲＡロックレジスタ１９８内のＲＡロックビットＲＬ１０、ＲＬ１１、ＲＬ１２、ＲＬ１３に接続された一対のＡＮＤゲート１８０と１８１、１８２と１８３、１８４と１８５、１８６と１８７に値１を供給する。
【０１１５】
こうして、ＲＡロックレジスタ１７８内の各ＲＡロックビット、例えば、ＲＬ００は、メモリアクセスパイプライン３からのリクエストがプライオリティ回路９６において選択され、そのリクエストが物理バンクグループ内メモリバンク番号ＢＫａ＃が「０」であるメモリバンクにアクセスするリクエストであって、そのリクエストのＲＡロックビットＲＬが「１」である場合にセットされる。また、このＲＡロックビットＲＬ００は、メモリアクセスパイプライン３からのリクエストがプライオリティ回路９６において選択され、そのリクエストが物理バンクグループ内メモリバンク番号ＢＫａ＃が「０」であるメモリバンクにアクセスするリクエストであって、そのリクエストのＲＡアンロックビットＲＵＬが「１」である場合にリセットされる。
【０１１６】
ＲＡロックレジスタ１７８内の他のＲＡロックレジスタＲＬ０１〜ＲＬ０３およびＲＡロックレジスタ１９８内のＲＡロックビットについても同様である。セレクタ２０７または２０８は、メモリアクセスパイプライン３により発行され、パス４８または４９を介して供給される後続のリクエストがアクセスするメモリバンクが、他のメモリアクセスパイプライン４により発行され、すでに選択された先行するリクエストによりロック済みか否かを検出するためのものである。具体的には、メモリアクセスパイプライン４に対応して設けられたＲＡロックレジスタ１９６から、パス４８または４９により与えられた物理バンクグループ内メモリバンク番号ＢＫａ＃に対応するロックビットを読み出し、それをＲＡ変更禁止ビットＲＩとして、線８０または８１を介してリクエストレジスタ８８、８９（図６）に出力する。セレクタ２０５または２０６は、メモリアクセスパイプライン４により発行され、パス５０または５１を介して供給される後続のリクエストがアクセスするメモリバンクが、メモリアクセスパイプライン３により発行され、すでに選択された先行するリクエストによりロック済みか否かを検出するためのもので、セレクタ２０７、２０８と同様に動作する。
【０１１７】
（４Ｅ）バンクビジー管理部
図１０を参照するに、バンクビジー管理部７９では、バンクビジーカウンタ２１４は、対応する４つのメモリバンクに対してバンクビジータイムを保持するための、４つのフィールドＢＣ０〜ＢＣ３を有する。プライオリティ制御部４４（図６）のプライオリティ回路９６により新たにリクエストが選択され、そのリクエストがリクエストレジスタ９８にセットされると、リクエストレジスタ９８から、この選択されたリクエストに含まれているローアドレスＲＡ、リクエスト選択成功信号ＳＳ、物理バンクグループ内バンク番号ＢＫａ＃とがそれぞれパス１００、１０１、１０２を介してスイッチ２０９に供給される。スイッチ２０９は、バンクビジーカウンタ２１４内の、物理バンクグループ内バンク番号ＢＫａ＃を有する一つのメモリバンクに対応するフィールドに、送信されたバンクビジータイムＢＴを書き込む。
【０１１８】
パス１０１のリクエスト選択成功信号ＳＳは、スイッチ２０９に入力される。パス１０２のＢＧ内メモリバンク番号（ＢＫａ＃）は、スイッチ２０９の出力先選択信号として使用される。すなわち、パス１０２のＢＧ内メモリバンク番号（ＢＫａ＃）が「０」であれば、スイッチ２０９はリクエスト選択成功信号ＳＳをバンクビジーカウンタ２１４のＢＣ０の「Ｅ」で示したイネーブル入力に転送し、以下ＢＧ内メモリバンク番号（ＢＫａ＃）が「１」、「２」、「３」の場合はそれぞれＢＣ１，ＢＣ２，ＢＣ３のイネーブル入力（Ｅ）にリクエスト選択成功信号ＳＳを転送する。また、パス１０４のバンクビジータイム（ＢＴ）は、バンクビジーカウンタ２１４のＢＣ０〜ＢＣ３の「Ｄ」で示した全てのデータ入力に接続されている。
【０１１９】
これにより、リクエスト選択成功信号ＳＳが「１」の場合にのみ、ＢＧ内メモリバンク番号（ＢＫａ＃）で示されるバンクビジーカウンタ２１４内のＢＣ０〜ＢＣ３に、パス１０４のバンクビジータイム（ＢＴ）を格納する。さらに、バンクビジーカウンタ２１４では各メモリバンクのバンクビジーカウンタＢＣ０〜ＢＣ３を毎サイクルに１づつ減算する。もしＢＣ０〜ＢＣ３の値が「０」である場合には減算は行わない。この処理により、各メモリバンクにおけるバンクビジータイムを記憶することができる。
【０１２０】
バンクビジーカウンタ２１４に記憶されたバンクビジータイムは、パス２１５〜２１８を介して、ＯＲゲート（ＯＲ０〜ＯＲ３）２１９〜２２２に送られる。ＯＲゲート（ＯＲ０〜ＯＲ３）２１９〜２２２では、バンクビジーカウンタ２１４内のそれぞれＢＣ０〜ＢＣ３の全ビットをＯＲ演算（論理和）し、そのＯＲ結果をパス２２３〜２２６を介してセレクタ２２７〜２３０に送る。ＯＲゲート（ＯＲ０〜ＯＲ３）２１９〜２２２においてＢＣ０〜ＢＣ３の全ビットをＯＲすることによって、ＢＣ０〜ＢＣ３の値が「０」である場合にのみパス２２３〜２２６に「０」を出力し、もしＢＣ０〜ＢＣ３の値が「０」でない場合にはパス２２３〜２２６に「１」を出力する。これにより、パス２２３〜２２６を介してバンクビジー信号をセレクタ２２７〜２３０に送る。
【０１２１】
セレクタ２２７〜２３０では、それぞれパス４８〜５１を介して後続のリクエストのＢＧ内メモリバンク番号（ＢＫａ＃）のみを受け取り、セレクト信号とし、これらＢＧ内メモリバンク番号（ＢＫａ＃）に対応したバンクビジー信号を選択する。例えば、セレクタ２２７のセレクト信号であるパス４８の示すＢＧ内メモリバンク番号（ＢＫａ＃）が「０」であれば、セレクタ２２７は、パス２２３を介して得られるバンクビジーカウンタ２１４のＢＣ０をＯＲゲート２１９でＯＲ演算して得られるバンクビジー信号を選択する。以下同様に、セレクタ２２７は、パス４８を介して得られるＢＧ内メモリバンク番号（ＢＫａ＃）が「１」，「２」，「３」の場合、それぞれＢＣ１，ＢＣ２，ＢＣ３をＯＲ演算して得られたバンクビジー信号２２４，２２５，２２６を選択する。
【０１２２】
セレクタ２２８〜２３０についても同様であり、パス４９〜５１を介して得られるＢＧ内メモリバンク番号（ＢＫａ＃）が「０」〜「３」のとき、それに対応してＢＣ０〜ＢＣ３をＯＲ演算して得られたバンクビジー信号２２３〜２２６を選択する。選択したバンクビジー信号ＢＢはパス８４〜８７を介して、リクエストレジスタ８８〜９１に送る。
【０１２３】
本実施形態例によれば、連続して発行されるリクエストのＲＡを変更せずに済ませられる場合は、ＲＡを変更せずにＣＡのみ変更してアクセスすることができるので、同期式ＤＲＡＭのローアドレス固定モードを有効に利用することができる。また、ＲＡ変更禁止ビットＲＩを用いた制御を行っているので、ＲＡを過度に変更することがない。
【０１２４】
なお、本発明は、同期式ＤＲＡＭに限らず、これと同様に、ローアドレスを一度印加し、複数のカラムアドレスでもって連続してアクセスすることができる他のメモリ、例えば、キャッシュ付きＤＲＡＭにも適用できる。
【０１２５】
【発明の効果】
本発明によれば、同期式ＤＲＡＭ用いて構成した主記憶装置において、同期式ＤＲＡＭの特徴であるローアドレス固定モードを有効に利用することができ、高いスループットを持つ主記憶装置が得られる。
【図面の簡単な説明】
【図１】本発明によるベクトルプロセッサの要部構成図。
【図２】図１のベクトルプロセッサの主記憶へのアドレス割り付けを示す図。
【図３】図１のベクトルプロセッサに用いるリクエスタのブロック図。
【図４】図１のベクトルプロセッサに用いる記憶制御部のブロック図。
【図５】図４の記憶制御部に用いるアドレスデコード部のブロック図。
【図６】図４の記憶制御部に用いるプライオリティ制御部のブロック図。
【図７】図６のプライオリティ制御部に用いるＲＡ管理部のブロック図。
【図８】図７のＲＡ管理部に用いるＲＡ一致制御部の回路図。
【図９】図７のＲＡ管理部に用いるＲＡロック制御部の回路図。
【図１０】図６のプライオリティ制御部に用いるバンクビジー管理部の回路図。
【図１１】図６のプライオリティ制御部に用いるプライオリティ回路の回路図。
【図１２】図１１のプライオリティ回路に用いるＰＬ間プライオリティ管理部の回路図。
【図１３】従来の同期式ＤＲＡＭの、ローアドレス固定モードを使用した場合と使用しない場合のタイミングチャート図。
【図１４】従来のインタリーブ方式により割り付けられるアドレスを示す図。
【図１５】従来のブロックインタリーブ方式により割り付けられるアドレスを示す図。
【図１６】図３のＲＬ／ＲＵＬビット生成部の概略回路図。
【符号の説明】
１…演算部（ＡＬＵ）、２…ベクトルレジスタ部（ＶＲＵ）、３，４…メモリアクセスパイプライン（ＰＬ０，ＰＬ１）、５…記憶制御部（ＳＣＵ）、６…主記憶装置（ＭＳ）、７，８…ベクトルデータ制御モジュール（ＶＤＭ０，ＶＤＭ１）、９，１０と１１，１２…ベクトルデータ制御部（ＶＤＣ０，ＶＤＣ１とＶＤＣ２，ＶＤＣ３）。
【図１】
0003654608.tif 000002
【図２】
0003654608.tif 000003
【図３】
0003654608.tif 000004
【図４】
0003654608.tif 000005
【図５】
0003654608.tif 000006
【図６】
0003654608.tif 000007
【図７】
0003654608.tif 000008
【図８】
0003654608.tif 000009
【図９】
0003654608.tif 000010
【図１０】
0003654608.tif 000011
【図１１】
0003654608.tif 000012
【図１２】
0003654608.tif 000013
【図１３】
0003654608.tif 000014
【図１４】
0003654608.tif 000015
【図１５】
0003654608.tif 000016
【図１６】
0003654608.tif 000017