JPH0916469A - Processor system provided with address assignment and address lock function suited to memory composed of synchronous dram - Google Patents

Processor system provided with address assignment and address lock function suited to memory composed of synchronous dram

Info

Publication number
JPH0916469A
JPH0916469A JP12893896A JP12893896A JPH0916469A JP H0916469 A JPH0916469 A JP H0916469A JP 12893896 A JP12893896 A JP 12893896A JP 12893896 A JP12893896 A JP 12893896A JP H0916469 A JPH0916469 A JP H0916469A
Authority
JP
Japan
Prior art keywords
request
memory
circuit
bank
memory access
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.)
Granted
Application number
JP12893896A
Other languages
Japanese (ja)
Other versions
JP3654608B2 (en
Inventor
Tadayuki Sakakibara
忠幸 榊原
Teruo Tanaka
輝雄 田中
Yoshiko Tamaoki
由子 玉置
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 JP12893896A priority Critical patent/JP3654608B2/en
Publication of JPH0916469A publication Critical patent/JPH0916469A/en
Application granted granted Critical
Publication of JP3654608B2 publication Critical patent/JP3654608B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Abstract

PROBLEM TO BE SOLVED: To provide a processor system capable of increasing the opportunities of utilizing a low address fixed mode to plural memory banks divided into physical bank groups and constituted of a synchronous DRAM or the like. SOLUTION: The plural memory banks are divided into plural logic groups across the physical bank groups and addresses are assigned by an interleave system for respective logic group units. When a series of requests outputted from respective requesters are provided with the plural requests for accessing the same low address of the same memory bank, the respective requesters request the lock of the low address for the plural requests and the request is stored in an RA management part 78. When the following request supplied from the other requester requests access to the low address other than the locked low address of the memory bank provided with the locked low address, a priority circuit 96 gives the prescribed number of the requests of a lock origin priority over the request and selects them.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、同期式ダイナミッ
クメモリ(以下、単に同期式DRAMあるいは同期式メ
モリと呼ぶ)あるいはそれに類似のメモリで構成された
複数のメモリバンクを有するプロセッサシステムに関す
る。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a processor system having a plurality of memory banks each composed of a synchronous dynamic memory (hereinafter simply referred to as a synchronous DRAM or a synchronous memory) or a memory similar thereto.

【0002】[0002]

【従来の技術】従来、高速、かつ高スループットが要求
される主記憶装置には、アクセスタイムの短いSRAM
(スタティック型RAM)が用いられることがほとんど
であった。SRAMはチップ内のどのアドレスをアクセ
スするのにも同じ時間(十数ナノ秒程度)で済むが、こ
れが、例えばDRAM(ダイナミック型RAM)になる
と、百数十ナノ秒にもなる。このようにSRAMは他の
メモリチップに比べはるかにアクセスタイムが短い。
2. Description of the Related Art Conventionally, an SRAM having a short access time has been used for a main memory device which requires high speed and high throughput.
In most cases, (static RAM) was used. The SRAM requires the same time (about ten and several nanoseconds) to access any address in the chip, but if it is a DRAM (dynamic type RAM), it takes one hundred and ten nanoseconds. Thus, the SRAM has a much shorter access time than other memory chips.

【0003】しかし、SRAMは他のメモリチップ(D
RAM)などに比べ、集積度が低く、またチップ価格も
高いため、大容量の主記憶を構成すると、価格が数十倍
以上高くなることがある。特に、ベクトル処理型のスー
パーコンピュータの主記憶には高性能で大容量であるこ
とが要求されるため、上記の問題が顕著になる。
However, SRAM is used for other memory chips (D
Since the degree of integration is lower and the chip price is higher than that of RAM) etc., if a large-capacity main memory is configured, the price may be several tens of times higher. In particular, since the main memory of a vector processing type supercomputer is required to have high performance and large capacity, the above problem becomes remarkable.

【0004】しかし、近年、いろいろの高速のメモリが
提案されている。たとえば、同期式DRAMとよばれる
高スループットメモリチップが市販されるようになって
きた。たとえば、「トランジスタ技術」、1993年1
0月号、第324頁から331頁(以下、第1の参考文
献と呼ぶ)参照。同期式DRAMの特徴は、メモリ内の
記憶位置がローアドレスとカラムアドレスでもってアク
セスされ、通常は、各記憶位置をアクセスするのに、ロ
ーアドレスRAを印加した後、カラムアドレスCAを印
加する(図13(a)参照)。しかし、同じローアドレ
スを有し、異なるカラムアドレスを有する複数の記憶位
置をアクセスするには、一度そのローアドレスを印加し
た後、それらのカラムアドレスを順次クロックに同期し
て印加すればよい。従って、これらの記憶位置は通常の
アクセス方法より高速にアクセスできる(図13(b)
参照)。以下、この動作を、ローアドレス固定モードあ
るいはローアドレス固定、カラム連続アクセスモードと
呼ぶことにする。
However, in recent years, various high speed memories have been proposed. For example, high-throughput memory chips called synchronous DRAM have come on the market. For example, "Transistor Technology," 1993, 1
See the January issue, pages 324 to 331 (hereinafter referred to as the first reference). A characteristic of the synchronous DRAM is that a memory storage location is accessed by a row address and a column address. Normally, to access each storage location, a row address RA is applied and then a column address CA is applied ( See FIG. 13A). However, in order to access a plurality of storage locations having the same row address and different column addresses, it is sufficient to apply the row address once and then apply the column addresses sequentially in synchronization with the clock. Therefore, these storage locations can be accessed faster than the normal access method (FIG. 13B).
reference). Hereinafter, this operation will be referred to as a row address fixed mode or a row address fixed and column continuous access mode.

【0005】ここで、図13において、同期式DRAM
のクロックサイクルを15ナノ秒とし、ローアドレスR
Aを入力してからカラムアドレスCAを入力できるよう
になるまでの時間を2クロック、カラムアドレスCAを
入力してから初めのデータ出力(リードの場合)までの
時間(これをCASレイテンシと呼ぶ)を2クロック、
また、ローアドレスRAを入力しなおす場合に必要なプ
リチャージの時間を2クロック、ローアドレス固定モー
ド時のアクセスピッチを1データ/クロックと仮定して
いる。RAS(図13において、RASは負論理の動作
信号であるのでオーバラインを付して記載しているが、
本明細書中ではオーバライン無しに単にRASと表記す
るものとする)はローアドレスアサート信号を、CAS
(図13において、CASは負論理の動作信号であるの
でオーバラインを付して記載しているが、本明細書中で
はオーバライン無しに単にCASと表記するものとす
る)はカラムアドレスアサート信号を示し、RAS、C
ASのトリガによってこのメモリに順次供給される二つ
のアドレスをそれぞれローアドレスRA、カラムアドレ
スCAとしてチップ内に取り込む。
Here, in FIG. 13, a synchronous DRAM is used.
Clock cycle of 15 nanoseconds and row address R
The time from the input of A until the column address CA can be input is 2 clocks, and the time from the input of the column address CA to the first data output (in the case of read) (this is called CAS latency). 2 clocks,
Further, it is assumed that the precharge time required when the row address RA is input again is 2 clocks and the access pitch in the row address fixed mode is 1 data / clock. RAS (in FIG. 13, since RAS is a negative logic operation signal, it is described with an overline.
In the present specification, simply referred to as RAS without overlining) is a row address assert signal,
(In FIG. 13, since CAS is a negative logic operation signal, it is described with an overline, but in this specification, it is simply expressed as CAS without an overline). , RAS, C
Two addresses sequentially supplied to this memory by the trigger of AS are taken in the chip as a row address RA and a column address CA, respectively.

【0006】同期式DRAMに類似のメモリとして、キ
ャッシュ付DRAMがある。これはDRAMとキャッシ
ュを同一の集積回路に構成したものである。キャッシュ
付DRAMをベクトル型のスーパコンピュータへ応用す
るための研究の結果が、たとえば、W. -C. Hsu and J.
E. Smith, "Performance of Cached DRAM Organization
s in Vector Supercomputers," Proc. of the 20th Ann
ual International Symposium on Computer Architectu
re, pp327-336, IEEE(以下、第2の参考文献と呼ぶ)
に示されている。この参考文献では、二つのタイプのキ
ャッシュ付DRAMが採り上げられている。この文献に
よれば、このような二つのタイプのメモリにおいても、
上記のローアドレス固定、カラムアドレス連続アクセス
モードと同じ動作を行うことが出来ることが分かる。こ
の文献では、複数のメモリバンクと複数のベクトル処理
する計算機とからなる計算機システムに使用するため
に、具体的には二種類の新たなアドレス割り付けが比較
評価されている。
As a memory similar to the synchronous DRAM, there is a DRAM with cache. This is a DRAM and a cache that are configured in the same integrated circuit. The results of research for applying the cached DRAM to the vector type supercomputer are, for example, W. -C. Hsu and J.
E. Smith, "Performance of Cached DRAM Organization
s in Vector Supercomputers, "Proc. of the 20th Ann
ual International Symposium on Computer Architectu
re, pp327-336, IEEE (hereinafter referred to as the second reference)
Is shown in This reference deals with two types of DRAM with cache. According to this document, even in these two types of memory,
It is understood that the same operation as the row address fixed and column address continuous access mode can be performed. In this document, two types of new address allocation are specifically evaluated for use in a computer system composed of a plurality of memory banks and a plurality of vector processing computers.

【0007】図15は、それらのアドレス割り付けの一
つであるブロックインタリーブによるアドレス割り付け
の例を示す。「0」から始まるアドレスを、メモリバン
ク番号(BK#)「0」〜「3」に順にインタリーブ方
式で割り付け、アドレス「16」〜「31」は、メモリ
バンク番号(BK#)「4」〜「7」に割り付け、以後
アドレス「16」毎に、次の4つのメモリバンクにイン
タリーブ方式で割り付ける方式である。このようなアド
レス割り付けを行うことにより、アドレス連続のアクセ
スで一度に4個のデータをリード/ライトが可能なブロ
ックが4つ用意されることになる。これにより、最大4
つのメモリアクセス手段に対して、メモリアクセスの機
会を与えることができる。図14は、最も一般的なイン
タリーブ方式を用いたアドレス割り付けの例を比較のた
めに示す。
FIG. 15 shows an example of address allocation by block interleaving, which is one of those address allocations. Addresses starting from "0" are sequentially assigned to memory bank numbers (BK #) "0" to "3" by the interleave method, and addresses "16" to "31" are assigned to the memory bank numbers (BK #) "4". This is a method of allocating to "7" and thereafter for each address "16" to the next four memory banks in an interleaved manner. By performing such address allocation, four blocks capable of reading / writing four data at a time by continuous address access are prepared. With this, up to 4
An opportunity of memory access can be given to one memory access means. FIG. 14 shows an example of address allocation using the most general interleaving method for comparison.

【0008】従来のベクトル型スーパーコンピュータの
主記憶装置には、高いスループットが要求されるため、
複数のメモリバンクから主記憶を構成し、インタリーブ
方式を用いてメモリバンクにアドレスを割り付けること
が多い。インタリーブ方式は一般に、連続するアドレス
を異なるメモリバンクに割り付けることにより、連続で
アクセスする場合のメモリスループットを高めるために
用いられる。従来、インタリーブ方式は様々なバリエー
ションが提案され、または、製品に採用されている。そ
のようなインタリーブ方式に一例は特開平5−1657
16号あるいはこれに対応する米国特許5,392,44
3(以下、第3の参考文献と呼ぶ)に開示されている。
Since a high throughput is required for the main memory of the conventional vector type supercomputer,
In many cases, a main memory is composed of a plurality of memory banks and addresses are assigned to the memory banks by using an interleave method. The interleave method is generally used to increase the memory throughput in continuous access by allocating continuous addresses to different memory banks. Conventionally, various interleave schemes have been proposed or adopted in products. An example of such an interleave method is Japanese Patent Laid-Open No. 5-16575.
No. 16 or corresponding US Pat. No. 5,392,44
3 (hereinafter referred to as the third reference).

【0009】[0009]

【発明が解決しようとする課題】上記第2の参考文献で
は、複数のメモリバンクが複数の計算機のいずれもから
インタコネクトネットワークによりアクセス可能になっ
ている計算機システムをモデルにして、二つのアドレス
割り付けが評価されている。
In the second reference, two address allocations are made by using a computer system in which a plurality of memory banks can be accessed from any of a plurality of computers through an interconnect network as a model. Has been evaluated.

【0010】しかし、多くの市販されているベクトル型
のスーパコンピュータでは、上記第3の参考文献にも記
載されているように、主記憶装置を構成する複数のメモ
リバンクは、複数の物理バンクグループに区分され、プ
ロセッサは主記憶装置に記憶制御装置により結合され、
記憶制御装置には、それぞれ一つの物理バンクグループ
に対応して設けられた複数のプライオリティ制御回路が
あり、各プライオリティ制御回路には、上記プロセッサ
内の互いに独立に動作する複数のリクエスト回路から、
そのプライオリティ制御回路に接続された物理バンクグ
ループ内のいずれかのメモリバンクをアクセスする複数
のリクエストが並列に供給され、各プライオリティ制御
回路は、それらのリクエストの中から一つのリクエスト
を選ぶ。
However, in many commercially available vector type supercomputers, as described in the above third reference, the plurality of memory banks constituting the main memory device are arranged in a plurality of physical bank groups. And the processor is coupled to the main memory by the memory controller,
The storage control device has a plurality of priority control circuits respectively provided corresponding to one physical bank group, each priority control circuit, from the plurality of request circuits operating independently of each other in the processor,
A plurality of requests for accessing any of the memory banks in the physical bank group connected to the priority control circuit are supplied in parallel, and each priority control circuit selects one request from the requests.

【0011】本発明者の検討によれば、このようなスー
パコンピュータでの主記憶装置を構成する複数のメモリ
バンクと複数のリクエスト回路の関係が上記参考文献2
に記載のものと異なるために、上記第2の参考文献に記
載されたブロックインタリーブは、そのままでは上記従
来のベクトル型のスーパコンピュータで採用されている
複数の物理バンクグループにグループ化された複数のメ
モリバンクを有する主記憶装置には適用できない。
According to a study by the present inventor, the relationship between a plurality of memory banks and a plurality of request circuits that constitute a main memory in such a super computer is described in Reference 2 above.
Since the block interleave described in the second reference is different from that described in the above, the block interleave described in the second reference is not changed as it is into a plurality of physical bank groups adopted in the conventional vector type supercomputer. It cannot be applied to a main memory device having a memory bank.

【0012】さらに、本発明者の検討によれば、上記同
期式DRAMあるいは上記キャッシュ付きDRAMのよ
うに、ローアドレス固定モードを有するメモリを計算機
の主記憶に使用する場合、複数の独立のリクエスト回路
からのアクセスが同じメモリバンクの異なるローアドレ
スを有する記憶位置を順次アクセスすることがしばしば
生じる。このために、各メモリバンクでは、アクセスさ
れるローアドレスが頻繁に変化することになり、ローア
ドレス固定モードという利点を使用できる機会が減る。
Further, according to a study by the present inventor, when a memory having a fixed row address mode, such as the synchronous DRAM or the cache DRAM, is used as a main memory of a computer, a plurality of independent request circuits are provided. Frequently, an access from will sequentially access storage locations having different row addresses in the same memory bank. As a result, the row address to be accessed changes frequently in each memory bank, reducing the opportunity to use the advantage of the row address fixed mode.

【0013】従って、本発明の目的は、ローアドレス固
定モードで動作可能なメモリで構成され、複数のバンク
グループに区分された複数のメモリバンクをローアドレ
ス固定モードでアクセスするのに適したアドレス割り付
けを有するプロセッサシステムを提供することである。
Therefore, an object of the present invention is to provide an address allocation suitable for accessing a plurality of memory banks, which are composed of a memory operable in a fixed row address mode and are divided into a plurality of bank groups, in the fixed row address mode. Is to provide a processor system having.

【0014】本発明のもう一つの目的は、ローアドレス
固定モードで動作可能なメモリで構成された複数のメモ
リバンクに対する、複数のリクエスト回路からのアクセ
スによって生じるローアドレスの変更の回数を減少でき
るプロセッサシステムを提供することである。
Another object of the present invention is a processor capable of reducing the number of row address changes caused by access from a plurality of request circuits to a plurality of memory banks composed of memories operable in a fixed row address mode. It is to provide a system.

【0015】[0015]

【課題を解決するための手段】上記目的を達成するため
に、本発明によるプロセッサシステムは、各々がN個
(Nは2以上の整数)のメモリバンクからなるM個(M
は2以上の整数)の物理バンクグループに分けられた、
複数のメモリバンクからなる記憶装置と、該記憶装置に
対するメモリアクセスリクエストをそれぞれ出力する複
数のリクエスト回路と、該記憶装置と該複数のリクエス
ト回路とに接続され、それぞれ該複数の物理バンクグル
ープの一つに対応して設けられ、該複数のリクエスト回
路から並列に出力される複数のメモリアクセス要求を調
停して、該複数のメモリアクセス要求の一つを対応する
物理バンクグループに転送するための複数のプライオリ
ティ制御部とを有し、各メモリバンクは、ローアドレス
とカラムアドレスとでもってアクセスされる複数の記憶
位置を有するメモリにより構成され、該メモリは、同じ
ローアドレスを有し異なるカラムアドレスを有する一群
の記憶位置を、該ローアドレスを一度印加し、該一群の
記憶位置のカラムアドレスを連続して印加することによ
り連続してアクセス可能に構成され、該複数のメモリバ
ンクは、同一の物理バンクグループ内メモリバンク番号
を持つM個のメモリバンクが同一の論理バンクグループ
に所属するように、それぞれM個のメモリバンクからな
るN個の論理バンクグループに区分され、それぞれM×
L(Lは2以上の整数)個のアドレスからなる複数のア
ドレスブロックが、順次異なる論理グループに割り付け
られ、各アドレスブロックに属するM×L個のアドレス
は、そのアドレスブロックが割り付けられた論理グルー
プに属するM個のメモリバンクの順次異なるものにイン
タリーブ方式に従って割り付けられ、その結果として、
該論理グループに属するM個のメモリバンクの各々には
L個のアドレスが割り付けられ、各メモリバンクに割り
付けられた複数のアドレスの内、同一のアドレスブロッ
クに属するL個のアドレスは、同一のローアドレスを有
し、異なるカラムアドレスを有する複数の記憶位置に割
り付けられている。
In order to achieve the above object, a processor system according to the present invention is provided with M (M is an integer of 2 or more) memory banks, each of which has M (M
Is an integer greater than or equal to 2)
A storage device including a plurality of memory banks, a plurality of request circuits that respectively output a memory access request to the storage device, and a plurality of physical bank groups connected to the storage device and the plurality of request circuits, respectively. Corresponding to one of the plurality of request circuits, which arbitrates a plurality of memory access requests output in parallel from the plurality of request circuits and transfers one of the plurality of memory access requests to a corresponding physical bank group. Each of the memory banks is composed of a memory having a plurality of storage locations accessed by a row address and a column address, the memory having the same row address and different column addresses. The row address is applied once to the group of memory locations, and the column of the group of memory locations is applied. The plurality of memory banks are configured to be continuously accessible by continuously applying a dress, and M memory banks having the same memory bank number in the same physical bank group belong to the same logical bank group. Are divided into N logical bank groups each consisting of M memory banks, each of which is M ×
A plurality of address blocks composed of L (L is an integer of 2 or more) addresses are sequentially allocated to different logical groups, and M × L addresses belonging to each address block are logical groups to which the address blocks are allocated. Are allocated according to an interleaving method to sequentially different M memory banks belonging to
L addresses are assigned to each of the M memory banks belonging to the logical group, and among the plurality of addresses assigned to each memory bank, the L addresses belonging to the same address block have the same row address. It has an address and is allocated to a plurality of storage locations having different column addresses.

【0016】本発明のより望ましい態様では、上記整数
Lは、各メモリバンク内の、同一のローアドレスを有
し、異なるカラムアドレスを有する一群の記憶位置の総
数より小さく、各メモリバンク内の、同一のローアドレ
スを有し、異なるカラムアドレスを有する一群の記憶位
置は、第1のアドレスブロックに属するアドレスが割り
付けられている複数の記憶位置と、少なくとも一つの他
のアドレスブロックに属するアドレスが割り付けられて
いる複数の記憶位置とを含む。
In a more desirable aspect of the present invention, the integer L is smaller than the total number of a group of storage locations having the same row address and different column addresses in each memory bank, A group of storage locations having the same row address and different column addresses are assigned a plurality of storage locations to which addresses belonging to the first address block are allocated and addresses belonging to at least one other address block. A plurality of storage locations being stored.

【0017】なお、上述した本願発明の特徴、すなわ
ち、各メモリバンク内の、同一のローアドレスを有し、
異なるカラムアドレスを有する一群の記憶位置は、第1
のアドレスブロックに属するアドレスが割り付けられて
いる複数の記憶位置と、少なくとも一つの他のアドレス
ブロックに属するアドレスが割り付けられている複数の
記憶位置とを含むという特徴は、上記のメモリバンクが
物理バンクグループに区分されていないプロセッサシス
テムにも適用可能である。
The feature of the present invention described above, that is, having the same row address in each memory bank,
The group of storage locations having different column addresses is the first
Of the memory bank, the memory bank includes a plurality of storage locations assigned addresses belonging to the address block and a plurality of storage locations assigned addresses belonging to at least one other address block. It is also applicable to processor systems that are not divided into groups.

【0018】さらに本願発明によるプロセッサシステム
の他の望ましい態様では、該プライオリティ制御回路
は、該複数のリクエスト回路から並列に出力された複数
のメモリアクセスリクエストの内、アクセスを許可すべ
き少なくとも一つのメモリアクセスリクエストを選択す
る回路と、それぞれ該複数のメモリバンクの一つに対応
して設けられた複数のローアドレス記憶装置であって、
各ローアドレス記憶装置は、対応するメモリバンクをア
クセスすることを該選択回路により最近に許された先行
するメモリアクセスリクエストがアクセスしたその対応
するメモリバンク内の記憶位置のローアドレスを記憶す
るものと、該複数のリクエスト回路により並列に出力さ
れた上記複数のメモリアクセスリクエストの各々がアク
セスするメモリバンク内の記憶位置に割り付けられたロ
ーアドレスと、上記複数のローアドレス記憶装置の内、
そのメモリバンクに対応する一つのローアドレス記憶装
置に記憶されたローアドレスとの間の一致を検出する検
出回路と、該複数のメモリアクセスリクエストの各々に
対する該検出回路による検出結果に依存して、該選択回
路による選択を制御する回路とを有する。
In another desirable mode of the processor system according to the present invention, the priority control circuit includes at least one memory to which access is to be permitted among a plurality of memory access requests output in parallel from the plurality of request circuits. A circuit for selecting an access request, and a plurality of row address storage devices respectively provided corresponding to one of the plurality of memory banks,
Each row address storage device stores the row address of a storage location within its corresponding memory bank accessed by a preceding memory access request that was recently allowed by the selection circuit to access the corresponding memory bank. A row address assigned to a storage location in a memory bank accessed by each of the plurality of memory access requests output in parallel by the plurality of request circuits, and a plurality of row address storage devices,
A detection circuit for detecting a match between row addresses stored in one row address storage device corresponding to the memory bank, and a detection result by the detection circuit for each of the plurality of memory access requests, A circuit for controlling selection by the selection circuit.

【0019】より望ましくは、上記制御回路は、該検出
回路により一致が検出されなかった一つのメモリアクセ
スリクエストよりも、該検出回路により一致が検出され
た他メモリアクセスリクエストを優先して選択するよう
に、上記選択回路を制御する回路を有する。
More preferably, the control circuit preferentially selects another memory access request for which a match has been detected by the detection circuit, over one memory access request for which a match has not been detected by the detection circuit. And has a circuit for controlling the selection circuit.

【0020】さらに望ましくは、各リクエスト回路は、
一連のメモリアクセス要求を順次出力する回路と、該複
数のメモリバンクの一つ内の一つのローアドレスをロッ
クすることを要求するロック要求を出力し、その一つの
メモリバンクがロックされた後にその一つのメモリバン
クのそのローアドレスをアンロックすることを要求する
アンロック要求を出力するロック/アンロック要求回路
とを有し、該プライオリティ制御回路は、該複数のリク
エスト回路の一つに含まれた上記ロック/アンロック要
求回路から出力されたロック要求に応答して、そのロッ
ク要求が指定するメモリバンクのそのロック要求が指定
するローアドレスが、そのリクエスト回路によりロック
されたことを示す情報を記憶し、そのロック/アンロッ
ク要求回路からその後に出力されたアンロック要求に応
答してそのメモリバンク内のそのローアドレスがアンロ
ックされたことを示す情報を記憶するロック情報記憶装
置と、該複数のリクエスト回路により並列に出力された
上記複数のメモリアクセスリクエストの各々が、そのメ
モリアクセスリクエストがアクセスするメモリバンク
が、そのメモリアクセスリクエストを出力したリクエス
ト回路以外の他のリクエスト回路によりロックされてい
るローアドレスを有するメモリバンクと一致するという
第1の条件を満たすか否か、および、そのメモリアクセ
スリクエストがその第1の条件を満たす場合に、そのメ
モリアクセスリクエストが指定するローアドレスが、当
該他のリクエスト回路によりロックされているローアド
レスと一致するという第2の条件を満たすか否かを、上
記ロック情報記憶装置に記憶された情報により検出する
回路と、該複数のメモリアクセスリクエストの各々に対
する該検出回路による検出結果に依存して、該選択回路
による選択を制御する回路とを有する。
More preferably, each request circuit is:
A circuit that sequentially outputs a series of memory access requests, and a lock request that requests to lock one row address in one of the plurality of memory banks, and outputs the lock request after the one memory bank is locked. A lock / unlock request circuit that outputs an unlock request for unlocking the row address of one memory bank, the priority control circuit being included in one of the plurality of request circuits. In response to the lock request output from the lock / unlock request circuit, information indicating that the row address specified by the lock request of the memory bank specified by the lock request is locked by the request circuit is displayed. The memory for storing and responding to an unlock request subsequently output from the lock / unlock request circuit A lock information storage device that stores information indicating that the row address in the link has been unlocked, and each of the plurality of memory access requests output in parallel by the plurality of request circuits is Whether the memory bank to be accessed satisfies the first condition that the memory bank has a row address locked by a request circuit other than the request circuit that issued the memory access request, and When the access request satisfies the first condition, it is determined whether or not the second address that the row address specified by the memory access request matches the row address locked by the other request circuit. , Information stored in the lock information storage device It has a circuit for detecting, depending on the detection result by the detection circuit for each of the memory access request plurality of and a circuit for controlling the selection by the selection circuit by.

【0021】より具体的には、上記制御回路は、いずれ
か一つのリクエスト回路より出力され、該第1の条件を
満たし、該第2の条件を満たさないと該検出回路により
検出された一つのメモリアクセスリクエストよりも、他
のリクエスト回路より出力され、該第1、第2の条件の
少なくとも一方を満たさないと該検出回路により検出さ
れた他のメモリアクセスリクエストを優先して選択する
ように、上記選択回路を制御する回路を有する。
More specifically, the control circuit outputs one of the request circuits, and the control circuit detects one of the detection circuits that satisfies the first condition and does not satisfy the second condition. To preferentially select another memory access request output from another request circuit and detected by the detection circuit unless at least one of the first and second conditions is satisfied, rather than the memory access request. A circuit for controlling the selection circuit is included.

【0022】[0022]

【発明の実施の形態】BEST MODE FOR CARRYING OUT THE INVENTION

(1)装置の概要 図1は、本発明によるベクトルプロセッサの主要構成を
示したものである。
(1) Outline of Device FIG. 1 shows a main configuration of a vector processor according to the present invention.

【0023】このベクトルプロセッサは、演算部(AL
U)1と、複数のベクトルレジスタ(図示せず)を含む
ベクトルレジスタ部(VRU)2と、メモリアクセスパ
イプライン(PL0,PL1)3,4と、記憶制御部
(SCU)5と、主記憶装置(MS)6とを備えてい
る。
This vector processor has an arithmetic unit (AL
U) 1, a vector register unit (VRU) 2 including a plurality of vector registers (not shown), memory access pipelines (PL0, PL1) 3 and 4, a storage control unit (SCU) 5, and a main memory And a device (MS) 6.

【0024】本実施形態例のベクトルプロセッサにおけ
る主記憶アクセス命令としては、ロード命令とストア命
令がある。ロード命令は、主記憶装置6からベクトルデ
ータをいずれかのベクトルレジスタに格納する命令であ
る。ストア命令は、いずれかのベクトルレジスタからベ
クトルデータを主記憶装置6に格納する命令である。
Main memory access instructions in the vector processor of this embodiment include a load instruction and a store instruction. The load instruction is an instruction to store vector data from the main storage device 6 into any of the vector registers. The store instruction is an instruction to store vector data in the main storage device 6 from any of the vector registers.

【0025】ベクトルレジスタ部2は、2つのベクトル
データ制御モジュール(VDM0,VDM1)7,8か
らなる。これらは互いに異なるベクトル命令を並列に実
行する。ベクトルデータ制御モジュール7あるいは8
は、それぞれ2つのベクトルデータ制御部(VDC0,
VDC1とVDC2,VDC3)9,10あるいは1
1,12とからなる。
The vector register unit 2 is composed of two vector data control modules (VDM0, VDM1) 7, 8. These execute different vector instructions in parallel. Vector data control module 7 or 8
Are two vector data control units (VDC0,
VDC1 and VDC2, VDC3) 9, 10 or 1
It consists of 1 and 12.

【0026】ベクトルデータ制御モジュール7,8は、
それぞれ異なるメモリアクセスパイプライン3,4に接
続されている。ベクトルデータ制御部9,10(あるい
は11,12)は、各々、同一のメモリアクセス命令に
応答して、その命令により指定されたアクセスすべきベ
クトルデータをいわゆる2要素並列動作でもってアクセ
スするためのアクセス要求を出力するものである。具体
的には、ベクトルデータ制御部9は、そのベクトルデー
タの一群の偶数番目の要素をアクセスするために、その
一群の偶数番目の要素の先頭データ(先頭のベクトル要
素、ここでは第0番目の要素)のアドレスを示すベース
アドレス、連続する偶数番目のベクトル要素のアドレス
の間隔を示すストライド、およびアクセスすべき一群の
偶数番目のベクトル要素の個数を表すベクトル長を含む
アクセス要求を、メモリアクセスパイプライン3内のメ
モリリクエスタ17に出力する。同様に、ベクトルデー
タ制御部10は、そのベクトルデータの一群の奇数番目
の要素をアクセスするために、メモリアクセス要求をメ
モリアクセスパイプライン3内のメモリリクエスタ18
に出力する。ベクトルデータ制御部11,12は、上記
命令とは異なるベクトル命令に応答して同様のアクセス
要求をメモリアクセスパイプライン4内のメモリリクエ
スタ19、20に供給する。
The vector data control modules 7 and 8 are
They are connected to different memory access pipelines 3 and 4, respectively. The vector data control units 9 and 10 (or 11 and 12) respectively respond to the same memory access instruction to access vector data to be accessed designated by the instruction by so-called two-element parallel operation. It outputs an access request. Specifically, the vector data control unit 9 accesses the even-numbered element of the group of the vector data so as to access the leading data of the even-numbered element of the group (leading vector element, here, the 0-th element). The memory access pipe includes an access request including a base address indicating an address of an element), a stride indicating an interval between addresses of consecutive even-numbered vector elements, and a vector length indicating the number of a group of even-numbered vector elements to be accessed. Output to the memory requester 17 in the line 3. Similarly, the vector data control unit 10 sends a memory access request to the memory requester 18 in the memory access pipeline 3 in order to access an odd-numbered element of the group of vector data.
Output to The vector data control units 11 and 12 supply similar access requests to the memory requesters 19 and 20 in the memory access pipeline 4 in response to vector instructions different from the above instructions.

【0027】ベクトルレジスタ部2は、図示されていな
い複数のベクトルレジスタをさらに有し、メモリアクセ
ス命令により主記憶装置6から読み出されたベクトルデ
ータ、あるいは主記憶装置6に書き込むベクトルデータ
を主記憶装置6といづれかのベクトルレジスタとの間
で、ベクトルデータ制御モジュール7(又は8)と、パ
ス21,22(又は23,24)、メモリアクセスパイ
プライン3(又は4)内のリクエスタ17,18(又は
19,20)、パス25,26(又は27,28)、主
記憶制御装置5を介して転送する。各ベクトルレジスタ
も2要素並列動作をするように、2要素並列に読み出し
あるいは書き込み可能である。これらのベクトルレジス
タの読み出し、書き込みに関する回路部分も公知なので
簡単化のため図示していない。
The vector register unit 2 further has a plurality of vector registers (not shown), and stores vector data read from the main storage device 6 by a memory access instruction or vector data to be written in the main storage device 6 in the main storage. Between the device 6 and any of the vector registers, the vector data control module 7 (or 8), the paths 21, 22 (or 23, 24), the requesters 17, 18 (in the memory access pipeline 3 (or 4)). Or 19, 20), paths 25, 26 (or 27, 28), and the main storage controller 5. Each vector register can also be read or written in two elements in parallel so that two elements operate in parallel. Circuit parts related to reading and writing of these vector registers are well known and are not shown for simplification.

【0028】メモリアクセスパイプライン3(又は4)
内のリクエスタ(RQ0,RQ1(又はRQ2,RQ
3)17,18(又は19,20)は、ベクトルデータ
制御部9,10(又は11,12)からのメモリアクセ
ス要求に応答して、それぞれの要求で指定された一群の
ベクトル要素の各々に対するメモリアクセス要求をそれ
ぞれパス25,26(又は27,28)を介して主記憶
制御装置5へ出力する。
Memory access pipeline 3 (or 4)
Requester (RQ0, RQ1 (or RQ2, RQ
3) 17, 18 (or 19, 20) responds to the memory access request from the vector data control unit 9, 10 (or 11, 12) to each of a group of vector elements designated by the respective request. The memory access request is output to the main storage controller 5 via the paths 25 and 26 (or 27 and 28), respectively.

【0029】記憶制御部(SCU)5は、メモリリクエ
スタ17〜20により出力されたメモリアクセスリクエ
ストの間の競合調停を行なった後、主記憶装置(MS)
6にそれらのメモリアクセスリクエストを送る。
The storage control unit (SCU) 5 carries out contention arbitration between the memory access requests output by the memory requesters 17 to 20, and then the main storage unit (MS).
6 to those memory access requests.

【0030】主記憶装置(MS)6は、4つの物理バン
クグループ(RBG0〜RBG3)33〜36からな
る。各物理バンクグループ33〜36は、それぞれ4つ
のメモリバンク(BK0〜BK3,BK4〜BK7,B
K8〜BK11,BK12〜BK15)52〜55,5
6〜59,60〜63,64〜67からなる。
The main memory (MS) 6 is composed of four physical bank groups (RBG0 to RBG3) 33 to 36. Each of the physical bank groups 33 to 36 has four memory banks (BK0 to BK3, BK4 to BK7, B).
K8-BK11, BK12-BK15) 52-55, 5
6 to 59, 60 to 63, and 64 to 67.

【0031】各物理バンクグループ33〜36は、それ
ぞれ1マシーンサイクルに一つのリクエストを処理でき
る。したがって、主記憶装置6全体では4つのリクエス
トを1サイクル当たりに並列に処理できる。
Each physical bank group 33 to 36 can process one request in one machine cycle. Therefore, the entire main memory 6 can process four requests in parallel per cycle.

【0032】以上の装置構成とその動作はそれ自体は公
知の装置と同じである。本実施形態例では、各メモリバ
ンクが同期式DRAMもしくはキャッシュ付DRAMの
ような同期式DRAMと同様のメモリにより構成され
る。各メモリバンクは、後に説明するように、ベクトル
データ制御モジュール7または8からのベクトルデータ
に対するメモリアクセスリクエストにより連続してアク
セスされうる一群のベクトル要素の内の複数の要素を、
ローアドレスRAを繰り返し印加しないで、カラムアド
レスだけ変化させるという同期式DRAM等に特徴的な
ローアドレス固定モードで各メモリバンクから読み出す
機会が増大するように、各メモリバンクにアドレスが割
り付けられている。
The above device configuration and its operation are the same as those of a known device. In this embodiment, each memory bank is composed of a memory similar to a synchronous DRAM such as a synchronous DRAM or a cache DRAM. Each memory bank stores a plurality of elements of a group of vector elements that can be successively accessed by a memory access request for vector data from the vector data control module 7 or 8, as described later.
Addresses are assigned to each memory bank so that the chances of reading from each memory bank are increased in a row address fixed mode that is characteristic of a synchronous DRAM or the like in which a column address is changed without repeatedly applying a row address RA. .

【0033】さらに、記憶制御部5は、いずれかのベク
トルデータ制御モジュール7(または8)からのメモリ
アクセスリクエストにより、一群のベクトル要素をアク
セスしている間に、いずれかのメモリバンクに対して他
のベクトルデータ制御モジュール8(または7)からの
リクエストが送付されたとき、これらの二つのベクトル
データ制御モジュール7、8からのアクセスの競合を同
期式DRAMのローアドレス固定モードを利用する機会
を増大するように、これらのベクトルデータ制御モジュ
ールからのアクセス要求を調停するように構成されてい
る。
Further, the storage control unit 5 responds to any memory bank while accessing a group of vector elements by a memory access request from any of the vector data control modules 7 (or 8). When a request is sent from another vector data control module 8 (or 7), the access conflict from these two vector data control modules 7 and 8 is given an opportunity to use the row address fixed mode of the synchronous DRAM. It is configured to arbitrate access requests from these vector data control modules in an increasing manner.

【0034】例えば、いずれかのベクトルデータ制御モ
ジュール、例えば、7が先にアクセスしたメモリバンク
のあるローアドレスを今後もアクセスすることが分かっ
ている場合、そのメモリバンクに対してはそのベクトル
データ制御モジュール7からのアクセス要求に、他のベ
クトルデータ制御モジュール8からのアクセス要求に対
するよりも優先してアクセス権を与える。こうすること
により、そのメモリバンクに対しては、ローアドレスを
変更する回数を減らすことが出来、全体としてメモリの
スループットが向上する。但し、同じベクトルデータ制
御モジュール7からの複数のアクセスに連続してアクセ
ス権を与えると、他のベクトルデータ制御モジュール8
からのアクセスが沈み込むので、同じベクトルデータ制
御モジュールに連続してアクセス権を与える回数を一定
数以下に制限する。
For example, if it is known that any of the vector data control modules, for example 7, will continue to access a row address of a previously accessed memory bank, that vector data control module will be used for that memory bank. The access right from the module 7 is given priority over the access request from the other vector data control module 8. By doing so, the number of times the row address is changed for the memory bank can be reduced, and the throughput of the memory is improved as a whole. However, if a plurality of accesses from the same vector data control module 7 are successively given access rights, another vector data control module 8
Since the access from sank, the number of times the access right is continuously given to the same vector data control module is limited to a certain number or less.

【0035】(2)アドレス割り付け 図2において、RBG#は、図1の物理バンクグループ
33〜36の物理バンクグループの番号を指し、BKa
#は、各メモリバンク52〜67の、それが属する物理
バンクグループ内の番号を指し、BK#は各メモリバン
ク52〜67の、全物理バンクグループ内の番号を指
し、LBG#はこれから説明する、各メモリバンクが属
する論理バンクグループの番号を示す。なお、以下で
は、各物理バンクグループを、その物理バンクグループ
の番号、例えば「0」を用いて物理バンクグループRB
G0と呼ぶことがある。各論理バンクグループも、その
論理バンクグループの番号、例えば0を用いてLBG0
と呼ぶことがある。各メモリバンクについても同様であ
る。
(2) Address allocation In FIG. 2, RBG # indicates the physical bank group number of the physical bank groups 33 to 36 in FIG.
# Indicates the number of each memory bank 52-67 in the physical bank group to which it belongs, BK # indicates the number of each memory bank 52-67 in all the physical bank groups, and LBG # will be described below. , Shows the number of the logical bank group to which each memory bank belongs. In the following description, each physical bank group will be referred to as a physical bank group RB using the number of the physical bank group, for example, “0”.
Sometimes called G0. Each logical bank group also uses the number of that logical bank group, for example 0, to LBG0.
It may be called. The same applies to each memory bank.

【0036】論理バンクグループは、全物理バンクグル
ープにまたがって定義されたメモリバンクのグループで
ある。具体的には、第i番目(i=0、1、2または
3)の論理グループLBGiは、各物理バンクグループ
の第i番目のメモリバンクにより構成される。各論理バ
ンクグループに属するメモリバンクは、全て互いに異な
る物理バンクグループに属している。各メモリバンクが
属する論理バンクグループの番号LBG#は、そのメモ
リバンクの、物理バンクグループ内メモリバンク番号B
Ka#に等しい。従って、各メモリバンクは、物理バン
クグループ番号RBG#と物理バンクグループ内メモリ
バンク番号BKa#との組合せあるいは物理バンクグル
ープ番号RBG#と論理バンクグループ番号LBG#と
の組合せでもって特定できる。
A logical bank group is a group of memory banks defined across all physical bank groups. Specifically, the i-th (i = 0, 1, 2, or 3) logical group LBGi is composed of the i-th memory bank of each physical bank group. The memory banks belonging to each logical bank group all belong to different physical bank groups. The number LBG # of the logical bank group to which each memory bank belongs is the memory bank number B in the physical bank group of that memory bank.
Equal to Ka #. Therefore, each memory bank can be specified by the combination of the physical bank group number RBG # and the in-physical memory bank number BKa # or the combination of the physical bank group number RBG # and the logical bank group number LBG #.

【0037】図2に示したアドレス割り付けは、ブロッ
クインタリーブの一種であり、以下のようにして実現さ
れる。連続する64個のアドレスからそれぞれなる複数
のアドレスブロックを順次異なる論理グループに割り付
け、各アドレスブロック内の64個のアドレスを、その
アドレスブロックが割り付けられた論理グループに属す
る4つのメモリバンクにインタリーブして割り付ける。
すなわち、最初のアドレスブロックを構成するアドレス
0から63までの64個のアドレスを、論理バンクグル
ープLBG0に属するメモリバンクBK0,BK4,B
K8,BK12にインタリーブ方式で割り付ける。第2
のアドレスブロックを構成するアドレス64から127
までの64個のアドレスを論理バンクグループLBG1
に属するメモリバンクBK1,BK5,BK9,BK1
3に同様に順次割り付ける。第3のアドレスブロックを
構成するアドレス128から191までの64個のアド
レスを論理バンクグループLBG2に属するメモリバン
クBK2,BK6,BK10,BK14に同様に割り付
ける。第4のアドレスブロックを構成するアドレス19
2から255までの64個のアドレスを論理バンクグル
ープLBG3に属するメモリバンクBK3,BK7,B
K11,BK15に順次割り付ける。そして、さらに次
のアドレスブロックを構成するアドレス256から始ま
る64個のアドレスは、再び論理バンクグループLBG
0に属するメモリバンクBK0,BK4,BK8,BK
12に割り付ける。以下同様にして、これ以降のアドレ
スの割り付けを行なう。
The address allocation shown in FIG. 2 is a kind of block interleaving and is realized as follows. A plurality of address blocks each consisting of consecutive 64 addresses are sequentially allocated to different logical groups, and the 64 addresses in each address block are interleaved into four memory banks belonging to the logical group to which the address blocks are allocated. To allocate.
That is, the 64 addresses from the addresses 0 to 63 forming the first address block are set to the memory banks BK0, BK4, B belonging to the logical bank group LBG0.
Allocate to K8 and BK12 by the interleave method. Second
64 to 127 that form the address block of
64 addresses up to logical bank group LBG1
Memory banks BK1, BK5, BK9, BK1 belonging to
Similarly, it is sequentially assigned to 3. 64 addresses from the addresses 128 to 191 forming the third address block are similarly allocated to the memory banks BK2, BK6, BK10, BK14 belonging to the logical bank group LBG2. Address 19 that constitutes the fourth address block
64 addresses 2 to 255 are assigned to the memory banks BK3, BK7, B belonging to the logical bank group LBG3.
Allocate to K11 and BK15 sequentially. Then, the 64 addresses starting from the address 256 forming the next address block are again converted into the logical bank group LBG.
Memory banks BK0, BK4, BK8, BK belonging to 0
Allocate to 12. Subsequent addresses are assigned in the same manner.

【0038】ここでは、各メモリバンクは一つの同期式
DRAMにより構成され、メモリ内の各記憶位置は、ロ
ーアドレスRAとカラムアドレスCAによりアクセスさ
れる。ローアドレスRAとカラムアドレスCAが採りう
る範囲は、本実施形態例では特定の値に制限されるもの
ではないが、ここでは、説明をより具体的にするため
に、カラムアドレスCAは、0から511までの512
個の値を取ることができると仮定する。図2において、
RA、CAは、各アドレスが割り付けられているメモリ
バンク内の記憶位置に割り付けられているローアドレス
とカラムアドレスを指す。例えば、アドレス0から3に
は、論理バンクグループLBG0内の4つのメモリバン
クの、ローアドレス0、カラムアドレス0が割り付けら
れる。同様に、アドレス4から7には、論理バンクグル
ープLBG0の4つのメモリバンクの、ローアドレス
0、カラムアドレス1が割り付けられる。図から分かる
ように、アドレス0から255には、論理バンクグルー
プLBG0からLBG3内の16個のメモリバンクの、
ローアドレス0、カラムアドレス0からローアドレス
0、カラムアドレス15が割り付けられる。以下同様に
して、アドレス256から2047には、論理バンクグ
ループLBG0からLBG3内の16個のメモリバンク
の、ローアドレス0、カラムアドレス16からローアド
レス0、カラムアドレス511が割り付けられる。さら
に後続のアドレス2048以降のアドレスには、これら
のメモリバンクのローアドレス1以降が割り付けられ
る。
Here, each memory bank is composed of one synchronous DRAM, and each storage position in the memory is accessed by a row address RA and a column address CA. The range that the row address RA and the column address CA can take is not limited to a specific value in this embodiment, but here, for the sake of more specific description, the column address CA starts from 0. 512 to 511
Suppose we can take a number of values. In FIG.
RA and CA refer to the row address and column address assigned to the storage location in the memory bank to which each address is assigned. For example, row addresses 0 and column address 0 of four memory banks in the logical bank group LBG0 are assigned to addresses 0 to 3. Similarly, row addresses 0 and column address 1 of four memory banks of the logical bank group LBG0 are allocated to addresses 4 to 7. As can be seen from the figure, addresses 0 to 255 include 16 memory banks in the logical bank groups LBG0 to LBG3.
Row address 0, column address 0 to row address 0, column address 15 are assigned. Similarly, addresses 256 to 2047 are assigned row address 0, column address 16 to row address 0, and column address 511 of 16 memory banks in the logical bank groups LBG0 to LBG3. Further, row addresses 1 and later of these memory banks are assigned to the subsequent addresses 2048 and subsequent addresses.

【0039】より一般的には、物理バンクグループの数
をN、物理バンクグループ内のメモリバンク数をMとす
ると、それぞれM×L(Lは2以上の整数)個のアドレ
スからなる複数のアドレスブロックが、順次異なる論理
グループに割り付けられ、各アドレスブロックに属する
M×L個のアドレスは、そのアドレスブロックが割り付
けられた論理グループに属するM個のメモリバンクの順
次異なるものにインタリーブ方式に従って割り付けられ
る。
More generally, assuming that the number of physical bank groups is N and the number of memory banks in the physical bank group is M, a plurality of addresses each consisting of M × L (L is an integer of 2 or more) addresses. Blocks are sequentially assigned to different logical groups, and M × L addresses belonging to each address block are assigned to sequentially different ones of M memory banks belonging to the logical group to which the address block is assigned according to an interleaving method. .

【0040】すなわち、第i(i=1、2、、、または
M)の論理グループに属するN個のメモリバンクには、
第((i−1)+N(j−1))×M×L+1)番目の
アドレスから第((i+N(j−1))×M×L)番目
のアドレス(j=1、、、)までのアドレスからなる複
数のアドレスブロックの各々が、順次インタリーブ方式
に従って順次異なるメモリバンクに割り付けられる。そ
の結果として、各論理グループに属するM個のメモリバ
ンクの各々にはL個のアドレスが割り付けられる。図2
に示した例では、N、M、Lはそれぞれ4、4、16に
等しい。各メモリバンクに割り付けられた複数のアドレ
スの内、同一のアドレスブロックに属するL個のアドレ
スは、同一のローアドレスを有し、異なるカラムアドレ
スを有する複数の記憶位置に割り付けられる。
That is, in the N memory banks belonging to the i-th (i = 1, 2, ..., Or M) logical group,
From the ((i-1) + N (j-1)) * M * L + 1) th address to the ((i + N (j-1)) * M * L) th address (j = 1, ...). Of the address blocks are sequentially assigned to different memory banks according to the sequential interleaving method. As a result, L addresses are assigned to each of the M memory banks belonging to each logical group. FIG.
In the example shown in, N, M, and L are equal to 4, 4, and 16, respectively. Of the plurality of addresses assigned to each memory bank, L addresses belonging to the same address block are assigned to a plurality of storage locations having the same row address and different column addresses.

【0041】複数の物理バンクグループに区分された複
数のメモリバンクを有し、各物理バンクグループごとに
プライオリティ回路によりアクセス権の調停が行われる
ように構成された計算機システムにおいては、以上に示
したブロックインタリーブによるアドレス割り付けを用
いることにより、同期式DRAMのローアドレス固定モ
ードを利用できる機会を増大させるすることができる。
A computer system having a plurality of memory banks divided into a plurality of physical bank groups and having access rights arbitrated by a priority circuit for each physical bank group is shown above. By using the address allocation by block interleaving, it is possible to increase the chance of utilizing the row address fixed mode of the synchronous DRAM.

【0042】例えば、いずれかのベクトルデータ制御モ
ジュール7(または8)が、一連の連続アドレス、例え
ば、アドレス0から始まる連続アドレスをアクセスする
場合、メモリバンクBK0,BK4,BK8,BK12
のみにメモリアクセスリクエストが発行される。ベクト
ルデータ制御モジュール7(または8)は、要素並列で
動作し、一サイクルに二つのアドレスをアクセスするの
で、初めのサイクルにはメモリバンクBK0,BK4に
アドレス0,1へのリクエストが発行され、次のサイク
ルにはメモリバンクBK8,BK12にアドレス2,3
へのリクエストが発行され、さらに次のサイクルには再
びメモリバンクBK0,BK4にアドレス4,5へのリ
クエストが発行される。このとき、初めの4つのリクエ
ストが発行されたメモリバンクにはローアドレス0をま
ずセットする必要があるが、これらのメモリバンクに次
の4つのリクエストが発行されたときには前回セットし
たローアドレスを利用することができるため、ローアド
レス0を新たにセットする必要がなくカラムアドレスの
みをセットすればよい。したがって、ローアドレスを変
更せずにカラムアドレスのみ変更して順次アクセスする
という、ローアドレス固定モードを使用できる。
For example, when one of the vector data control modules 7 (or 8) accesses a series of continuous addresses, for example, a continuous address starting from address 0, the memory banks BK0, BK4, BK8, BK12.
A memory access request is issued only to Since the vector data control module 7 (or 8) operates in element parallel and accesses two addresses in one cycle, requests for addresses 0 and 1 are issued to the memory banks BK0 and BK4 in the first cycle, In the next cycle, the memory banks BK8 and BK12 will have addresses 2, 3
To the memory banks BK0 and BK4 in the next cycle. At this time, it is necessary to first set the row address 0 in the memory bank to which the first four requests are issued, but when the next four requests are issued to these memory banks, the previously set row address is used. Therefore, it is not necessary to newly set the row address 0, and only the column address needs to be set. Therefore, it is possible to use the row address fixed mode in which only the column address is changed and the sequential access is performed without changing the row address.

【0043】さらに、本実施形態例では、同じアドレス
ブロックに属し、同じメモリバンクの同じローアドレス
に割り付けられるアドレスの総数L(今の例では16に
等しい)は、同じメモリバンクの同じローアドレスを有
する記憶位置の総数(今の例では512)より小さくな
るように選ばれる。より望ましくは、総数Lは、同じメ
モリバンクの同じローアドレスを有する記憶位置の総数
(今の例では512)の整数分の一、具体的には32分
の一に選ばれている。この結果、各メモリバンクの同一
のローアドレスは複数のアドレスブロックに属するアド
レスに割り付けられている。
Further, in this embodiment, the total number L of addresses (equal to 16 in the present example) belonging to the same address block and allocated to the same row address of the same memory bank is the same row address of the same memory bank. It is chosen to be less than the total number of storage locations it has (512 in this example). More preferably, the total number L is selected to be an integer fraction, specifically 1/32, of the total number (512 in this example) of storage locations having the same row address in the same memory bank. As a result, the same row address in each memory bank is assigned to addresses belonging to a plurality of address blocks.

【0044】後に説明するように本実施形態例は、次の
ように動作するように構成されている。ベクトルデータ
モジュール7あるいは8からのアクセス要求により生成
される一連のメモリリクエストの内の複数のリクエスト
が同一のメモリバンクをアクセスする場合、そのメモリ
バンクを最初にアクセスするメモリリクエストが実行さ
れるときから、そのメモリバンクを最後にアクセスする
メモリリクエストが実行されるまでの間、その一連のメ
モリアクセスのために、そのメモリバンクがロックされ
るようになっている。そのメモリバンクがロックされて
いる間、そのメモリバンクを他のベクトルデータモジュ
ールのためのメモリリクエストはアクセスの優先度を下
げられる。これにより、そのメモリバンクの、ロックさ
れたローアドレスに属する複数のアドレスがアクセスさ
れる間、そのメモリバンクに対しては、ローアドレス固
定モードでの動作を行う機会を増大するようにしてい
る。
As will be described later, the present embodiment example is configured to operate as follows. When a plurality of requests in the series of memory requests generated by the access request from the vector data module 7 or 8 access the same memory bank, from the time when the memory request that first accesses that memory bank is executed. The memory bank is locked for the series of memory accesses until the memory request that last accesses the memory bank is executed. While the memory bank is locked, memory requests for other vector data modules in that memory bank are de-prioritized for access. As a result, while a plurality of addresses belonging to the locked row address of the memory bank are accessed, the chance of performing the operation in the row address fixed mode for the memory bank is increased.

【0045】しかし、この結果、そのようにロックされ
たメモリバンクは同一のリクエスタにより占有され続け
るのに近い状態が生じる。従って、異なるリクエスタか
らのメモリアクセスリクエストをなるべく均等に処理す
る上で望ましくない。
However, this results in a situation in which such locked memory banks continue to be occupied by the same requestor. Therefore, it is not desirable to process memory access requests from different requesters as evenly as possible.

【0046】同一のメモリバンクに属し、かつ、同一の
アドレスブロックに属するアドレスは、一般に一つのリ
クエスタから連続してアクセスされる可能性が高い。従
って、同一のローアドレスが割り当てられた複数のアド
レスが複数のアドレスブロックに属していると、そのロ
ーアドレスがロックされる期間は、そのローアドレスの
アドレスが一つのアドレスブロックに属している場合よ
りは短くなる。本実施形態例では、ローアドレス固定モ
ードをできるだけ頻度高く使用することを狙いながら、
特定のリクエスタによる過度の占有を避けるために、一
つのローアドレスには、複数のアドレスブロックに属す
るアドレスが割り付けられるように、アドレスブロック
の大きさを選ぶことが望ましい。
Addresses belonging to the same memory bank and the same address block are generally likely to be continuously accessed by one requester. Therefore, when multiple addresses to which the same row address is assigned belong to multiple address blocks, the row address is locked for a longer period than when the address of that row address belongs to one address block. Becomes shorter. In this embodiment, while aiming to use the row address fixed mode as frequently as possible,
In order to avoid excessive occupation by a specific requester, it is desirable to select the address block size so that an address belonging to a plurality of address blocks is allocated to one row address.

【0047】(3)リクエスタ 図3を参照するに、リクエスト生成部300では、ベク
トルデータ制御部9からパス21を介して与えられるア
クセスすべきベクトルデータの内の、一群の偶数番目の
ベクトル要素を指定するベースアドレス、ストライド、
およびベクトル長から、主記憶装置6における一群の偶
数番目のベクトル要素のアドレスを順次計算し、そのア
ドレスを含むリクエストを毎サイクル一つの割合で順次
生成し、線303を介してリクエストレジスタ316に
格納する。リクエスト生成部300が生成するリクエス
トには、リクエストレジスタ316内に示されたよう
に、有効なリクエストであることを示すリクエストフラ
グREQ、そのリクエストがストアのためのリクエスト
か否かを示すSTフラグ、このリクエストを発行したリ
クエスタが属するメモリアクセスパイプラインの番号P
L#、メモリアドレス、このリクエストがストアリクエ
ストの場合にこのリクエストに含まれるストアデータと
が含まれる。これらの情報の中で、メモリアクセスパイ
プラインの番号PL#とアドレス以外は、対応するベク
トルデータ制御部9より与えられ、メモリアクセスパイ
プラインの番号PL#とアドレスはリクエスタ17が付
加する。メモリアクセスパイプラインの番号PL#は、
メモリアクセスパイプライン3、4に対してそれぞれ
0、1を取る。さらに、リクエスト生成部300は生成
したリクエストがアクセスしようとするベクトル要素
が、対応するベクトルデータ制御モジュール7により要
求されたベクトルデータの何番目の要素であるかを示す
要素番号ELM#を線304、305に出力する。この
要素番号ELM#は、リクエスタ17により連続してア
クセスする一群の偶数番目のベクトル要素(あるいは一
群の奇数番目のベクトル要素)に対してリクエスタ17
により出力される一群のリクエストの内、現在処理中の
リクエストが何番目のリクエストであるかを示す番号
で、0から始まる。リクエスト生成部300のこのよう
なリクエスト生成のための内部構造はは公知であり、こ
こでは簡単化のためそれに関する説明は省略する。
(3) Requester Referring to FIG. 3, in the request generation unit 300, a group of even-numbered vector elements in the vector data to be accessed given from the vector data control unit 9 via the path 21 is set. Base address, stride,
And the vector length, the addresses of a group of even-numbered vector elements in the main storage device 6 are sequentially calculated, requests including the addresses are sequentially generated at a rate of one every cycle, and stored in the request register 316 via the line 303. To do. The request generated by the request generation unit 300 includes, as shown in the request register 316, a request flag REQ indicating that the request is a valid request, an ST flag indicating whether the request is a request for storing, The number P of the memory access pipeline to which the requester that issued this request belongs
The L #, the memory address, and the store data included in this request when this request is a store request are included. Of these pieces of information, except for the memory access pipeline number PL # and the address, they are given from the corresponding vector data control unit 9, and the requester 17 adds the memory access pipeline number PL # and the address. The memory access pipeline number PL # is
0 and 1 are taken for the memory access pipelines 3 and 4, respectively. Further, the request generation unit 300 sets the element number ELM # indicating the element number of the vector data requested by the corresponding vector data control module 7 by the line 304, Output to 305. This element number ELM # corresponds to the requester 17 for a group of even-numbered vector elements (or a group of odd-numbered vector elements) that are continuously accessed by the requester 17.
The number indicating the number of the request currently being processed in the group of requests output by (1), starting from 0. The internal structure of the request generation unit 300 for generating such a request is publicly known, and a description thereof is omitted here for simplification.

【0048】リクエスタ17は、リクエストレジスタ3
16内に示されるようにローアドレスロックビットRL
およびローアドレスアンロックビットRULを以下のよ
うにして生成するところに特徴がある。リクエスト計数
回路301では、パス21を介して与えられるベースア
ドレスとストライドとベクトル長とパス305を介して
リクエスト生成部300から与えられる要素番号とに応
答して、現在処理中のリクエストがアクセスする論理バ
ンクグループを、現在処理中のリクエストとそれに引き
続き連続してアクセスする、そのリクエスタにより発行
される予定の後続のリクエストとの総数(以下、これを
同一論理バンクグループ連続アクセスリクセスト数とも
呼ぶ)NR0を計算する。例えば、ベースアドレスが
「0」で、ストライドが「2」、ベクトル長が「3
2」、現在処理中のリクエストの要素番号が「0」、す
なわち最初のリクエストの場合、図2より、このリクエ
ストがアクセスする論理バンクグループ(LBG0)に
は、アドレス「0」,「2」,「4」,…,「62」へ
の32個のリクエストが連続してアクセスするため、N
R0は「32」となる。
The requester 17 uses the request register 3
Row address lock bit RL as shown in 16
Also, it is characterized in that the row address unlock bit RUL is generated as follows. In the request counting circuit 301, in response to the base address, stride, vector length given via the path 21 and the element number given from the request generation unit 300 via the path 305, the logic accessed by the request currently being processed is accessed. NR0, which is the total number of requests that are currently being processed and the subsequent requests that will be issued consecutively by the requester and that will be issued consecutively by the requester (hereinafter, this is also called the number of consecutive access requests for the same logical bank group). To calculate. For example, the base address is "0", the stride is "2", and the vector length is "3".
2 ", the element number of the request currently being processed is" 0 ", that is, in the case of the first request, the logical bank group (LBG0) accessed by this request has addresses" 0 "," 2 ", Since 32 requests to “4”, ..., “62” access continuously, N
R0 becomes “32”.

【0049】メモリバンク計数回路302では、パス2
1を介してベースアドレスとストライドとベクトル長
と、パス305を介してリクエスト生成部300から与
えられる現在処理中の要素番号ELM#に応答して、現
在処理中のリクエストがアクセスする論理バンクグルー
プ内に属するメモリバンクのうち、このリクエストおよ
びこのリクエストに続いてこのリクエスタから発行され
る後続のリクセストによりアクセスされるメモリバンク
の総数(以下、この数を論理グループ内被アクセスメモ
リバンク数とも呼ぶ)NBKを計算する。例えば、ベー
スアドレスが「0」、ストライドが「2」、ベクトル長
が「32」、現在処理中のリクエストの番号(要素番
号)が「0」の場合、図2より、このリクエストがアク
セスする論理バンクグループ(LBG0)において、全
てのリクエストはメモリバンクBK0またはBK2をア
クセスするため、NBKは「2」となる。
In the memory bank counting circuit 302, the path 2
Within the logical bank group accessed by the request currently being processed in response to the base address, stride and vector length via 1 and the element number ELM # being currently processed given from the request generation unit 300 via the path 305. Out of the memory banks belonging to, the total number of memory banks accessed by this request and the subsequent request issued by this requester following this request (hereinafter, this number is also referred to as the number of accessed memory banks in the logical group) NBK To calculate. For example, when the base address is "0", the stride is "2", the vector length is "32", and the number (element number) of the request currently being processed is "0", the logic accessed by this request is shown in FIG. In the bank group (LBG0), all requests access the memory bank BK0 or BK2, so NBK becomes “2”.

【0050】図16を参照するに、RL/RULビット
生成部308では、上記の個数(NR0,NBK)をパ
ス306,307を介して受け取り、それぞれリクエス
ト数レジスタ310と、メモリバンク数レジスタ311
に保持する。また、リクエスト生成部300から現在処
理中である要素番号(ELM#)をパス304を介して
受け取り、要素番号レジスタ309に保持する。
Referring to FIG. 16, the RL / RUL bit generation unit 308 receives the above number (NR0, NBK) via the paths 306 and 307, and requests the number register 310 and the memory bank number register 311 respectively.
To hold. Also, the element number (ELM #) currently being processed is received from the request generation unit 300 via the path 304 and held in the element number register 309.

【0051】この回路では、各論理バンクグループに連
続してアクセスするリクエストのうち、その論理バンク
グループ内の同一のメモリバンクに対して、最後にアク
セスするリクエストに対するRAロックビットRLを
「0」にし、RAアンロックビットRULを「1」にし
て、それ以外のリクエストに対しては全てRAロックビ
ット(RL)を「1」に、RAアンロックビットRUL
を「0」にするように、各リクエストに対してRAロッ
クビットRL、RAアンロックビットを生成する。
In this circuit, the RA lock bit RL is set to "0" for the last request of the same memory bank in the logical bank group among the requests successively accessing each logical bank group. , The RA unlock bit RUL is set to “1”, the RA lock bit (RL) is set to “1” for all other requests, and the RA unlock bit RUL is set.
The RA lock bit RL and the RA unlock bit are generated for each request so that is set to “0”.

【0052】本実施形態例では、一つのリクエスタから
出力される一連のアドレスの内の複数のアドレスにより
同一メモリバンクがアクセスされる場合、それらの複数
のアドレスは、同一のローアドレスに属すると仮定して
いる。従って、このRL/RULビット生成部308
は、同一のローアドレスをアクセスする複数のメモリア
クセスリクエストの最後のもの以外に対してRAロック
ビットを1にし、その最後のメモリアクセスリクエスト
に対してRAアンロックビットRULを1にするように
なっている。もし、同一のリクエスタから出力される一
連のメモリアクセスリクエストが同一のメモリバンク内
の複数のローアドレスに属する複数のアドレスをアクセ
スするときには、それらの一連のアドレスの内のいずれ
か一つのローアドレスに属する複数のアドレスに関して
上に説明した処理を実施するように図16を変更すれば
よい。
In the present embodiment, when the same memory bank is accessed by a plurality of addresses in a series of addresses output from one requester, it is assumed that those plurality of addresses belong to the same row address. doing. Therefore, this RL / RUL bit generation unit 308
Sets the RA lock bit to 1 for a memory access request other than the last of a plurality of memory access requests that access the same row address, and sets the RA unlock bit RUL to 1 for the last memory access request. ing. If a series of memory access requests output from the same requester access multiple addresses belonging to multiple row addresses in the same memory bank, one of the row addresses in those series of addresses is FIG. 16 may be modified to carry out the processing described above for a plurality of addresses to which it belongs.

【0053】具体的には、比較器401は、要素番号E
LM#が「0」、すなわち、リクエスト生成部300で
生成されたリクエストが最初のリクエストであるか否か
判定する。最初のリクエストである場合は、セレクタ4
05によりリクエスト数レジスタ310のNR0を選択
させる。リクエストが最初のリクエストでない場合に
は、変数レジスタ400を選択させる。
Specifically, the comparator 401 has the element number E
It is determined whether the LM # is “0”, that is, the request generated by the request generation unit 300 is the first request. Selector 4 if this is the first request
05, NR0 of the request number register 310 is selected. If the request is not the first request, the variable register 400 is selected.

【0054】さらに、比較器402は、このセレクタ4
05の出力が要素番号ELM#以下であるか否か判定す
る。さらに、加算器407によりセレクタ405の出力
とリクエスト数レジスタ310の内容であるNR0を加
算する。セレクタ405の出力が要素番号ELM#以下
である場合は、セレクタ406により加算器407の出
力を選択させ、その出力を変数レジスタ400に変数N
Rの新たな値として格納する。セレクタ405の出力が
要素番号ELM#より大きいときには、セレクタ406
によりセレクタ405の出力を選択させる。
Further, the comparator 402 uses the selector 4
It is determined whether the output of 05 is the element number ELM # or less. Further, the adder 407 adds the output of the selector 405 and NR0 which is the content of the request number register 310. When the output of the selector 405 is equal to or smaller than the element number ELM #, the selector 406 selects the output of the adder 407, and the output is stored in the variable register 400 by the variable N.
Store as a new value of R. When the output of the selector 405 is larger than the element number ELM #, the selector 406
Causes the output of the selector 405 to be selected.

【0055】上記の処理により、変数レジスタNRには
常に、現在処理中のリクエストがアクセスしている論理
バンクグループに連続してアクセスするリクエストの内
の最大の要素番号より「1」大きい数が保持される。
As a result of the above processing, the variable register NR always holds a number "1" larger than the maximum element number of the requests which successively access the logical bank group accessed by the request currently being processed. To be done.

【0056】さらに、減算器408により、セレクタ4
06の出力からメモリバンク数レジスタ311の内容N
BKを引く。比較器404において要素番号ELM#
が、この減算器の出力以上かを判定する。比較器403
において、この要素番号ELM#が変数NRより小さい
か否かを判定する。二つの比較器403、404の出力
を受けるANDゲート409の出力をRAアンロックビ
ットRULとしてRAアンロックレジスタ313を介し
て線315に出力する。さらにこのANDゲートの出力
を受けるインバータ410の出力をRAロックビットR
LとしてRAロックビットレジスタ312を介して線3
14に出力する。この結果、二つの比較器403、40
4での判定がともに成立した場合には、RAロックビッ
トRLは「0」に、RAアンロックビットRULは
「1」になる。これ以外の場合には、RAロックビット
RLは「1」に、RAアンロックビットRULは「0」
になる。
Further, the subtracter 408 allows the selector 4
From the output of 06 to the content N of the memory bank number register 311
BK is drawn. Element number ELM # in comparator 404
Is greater than or equal to the output of this subtractor. Comparator 403
At, it is determined whether the element number ELM # is smaller than the variable NR. The output of the AND gate 409 which receives the outputs of the two comparators 403 and 404 is output to the line 315 as the RA unlock bit RUL via the RA unlock register 313. Further, the output of the inverter 410 receiving the output of this AND gate is set to the RA lock bit R
Line 3 via RA lock bit register 312 as L
It outputs to 14. As a result, the two comparators 403, 40
When both determinations in 4 are satisfied, the RA lock bit RL becomes "0" and the RA unlock bit RUL becomes "1". In other cases, the RA lock bit RL is "1" and the RA unlock bit RUL is "0".
become.

【0057】リクエスト生成部300で生成されたリク
エストと、RL/RULビット生成部308で生成され
たRL,RULを、それぞれパス303と314,31
5を介してリクエストレジスタ316でマージしてメモ
リアクセスリクエストとする。こうして、先に述べたよ
うに、各リクエストに対してRAロックビットRL、R
AアンロックビットRULが生成される。リクエスタ1
8〜20も同様である。
The request generated by the request generation unit 300 and the RL and RUL generated by the RL / RUL bit generation unit 308 are passed through paths 303, 314 and 31 respectively.
5, and is merged by the request register 316 into a memory access request. Thus, as mentioned above, for each request, the RA lock bits RL, R
The A unlock bit RUL is generated. Requester 1
The same applies to 8 to 20.

【0058】(4)記憶制御部(SCU) 図4に示すように、記憶制御部5は、4つのリクエスタ
17〜20に対応する4つの互いに同じ構造のリクエス
トバッファ部37〜40と、4つの物理バンクグループ
33〜36に対応する4つの互いに同じ構造のプライオ
リティ制御部(PR0〜PR3)44〜47とからな
る。図4では、ロード命令に応答して主記憶装置6から
読み出したベクトルデータをベクトルレジスタユニット
2(図1)に転送するための経路は簡単化のため省略し
ている。
(4) Storage Control Unit (SCU) As shown in FIG. 4, the storage control unit 5 has four request buffer units 37-40 having the same structure and four request buffer units 37-40 corresponding to the four requesters 17-20. It is composed of four priority control units (PR0 to PR3) 44 to 47 having the same structure corresponding to the physical bank groups 33 to 36. In FIG. 4, a path for transferring the vector data read from the main memory 6 in response to the load instruction to the vector register unit 2 (FIG. 1) is omitted for simplification.

【0059】(4A)リクエストバッファ部 リクエストバッファ部37において、アドレスデコード
部41は、図5に示すように、リクエストレジスタ68
にリクエスタ17から線25を介して供給されたリクエ
ストを保持する。そのリクエスト内のアドレスを、図2
に示した同期式DRAMに特化したアドレス割り付けに
よりアクセス出来るようにアドレス変換し、物理バンク
グループ物理バンク番号RBG#、BG内メモリバンク
番号BKa#、およびメモリバンク内アドレスからなる
変換後のアドレスを含むリクエストを生成する。メモリ
バンク内アドレスは、ローアドレスRAとカラムアドレ
スCAとよりなる。得られた新たなリクエストをリクエ
ストレジスタ69に保持する。
(4A) Request Buffer Unit In the request buffer unit 37, the address decoding unit 41, as shown in FIG.
Holds the request supplied by the requester 17 via line 25. The address in the request is shown in Figure 2.
Address conversion is performed so that it can be accessed by the address allocation specialized for the synchronous DRAM shown in FIG. Generate request to include. The address in the memory bank consists of a row address RA and a column address CA. The obtained new request is held in the request register 69.

【0060】変換前のアドレスは5つのフィールドに分
かれて変換される。本実施形態例では、図2に示したア
ドレス割り付けから分かるように、変換前のアドレスの
第5のフィールド(最下位フィールド)ADR5により
物理バンクグループ物理バンク番号RBG#が決まる。
本実施形態例では、物理バンクグループ物理バンク数
は、4であるので、最下位フィールドADR5は2ビッ
トからなる。アドレスの第3のフィールドADR3によ
り物理バンクグループ物理バンク内のバンク番号BKa
#が決まる。物理バンクグループ物理バンク内のバンク
の総数は4であるから、本実施形態例では、第3のアド
レスフィールドADR3も2ビットからなる。図2で示
したとおり、物理バンクグループ物理バンク内のバンク
番号は、64を周期として変化するので、第4、第5の
アドレスフィールドの総ビット数は、6ビットである。
従って、第4アドレスフィールドADR4は4ビットか
らなる。変換前のアドレスの第2、第4フィールドによ
り、カラムアドレスCAが決まる。本実施形態例では、
図2に関して説明したとおり、同じローアドレスRAに
対しては、カラムアドレスは512個あると仮定してい
るので、カラムアドレスCAは9ビットである。従っ
て、第2アドレスフィールドADR2は5ビットからな
る。変換前の第1アドレスフィールドADR1はそのま
まローアドレスRAとして使用される。この結果、本実
施形態例では、変換前のアドレスが0〜2047までが
いずれかの物理バンクグループ物理バンクのいずれかの
メモリバンクにおけるローアドレスRA=0の記憶位置
に対応する。これらのアドレスに対してカラムアドレス
CAは、0から511まで変化する。アドレスが204
7を超えると、ローアドレスが1増え、さらに2048
個越えるごとにローアドレスが1ずつ増大する。
The address before conversion is divided into five fields and converted. In the present embodiment, as can be seen from the address allocation shown in FIG. 2, the physical bank group physical bank number RBG # is determined by the fifth field (lowest field) ADR5 of the address before conversion.
In this embodiment, the physical bank group has four physical banks, and thus the lowest field ADR5 has 2 bits. Bank number BKa in the physical bank group physical bank according to the third field ADR3 of the address
# Is decided. Physical bank group Since the total number of banks in the physical bank is 4, the third address field ADR3 also has 2 bits in this embodiment. As shown in FIG. 2, since the bank number in the physical bank group physical bank changes in a cycle of 64, the total number of bits of the fourth and fifth address fields is 6 bits.
Therefore, the fourth address field ADR4 consists of 4 bits. The column address CA is determined by the second and fourth fields of the address before conversion. In the present embodiment,
As described with reference to FIG. 2, since it is assumed that there are 512 column addresses for the same row address RA, the column address CA is 9 bits. Therefore, the second address field ADR2 consists of 5 bits. The first address field ADR1 before conversion is used as it is as the row address RA. As a result, in this embodiment, the addresses before conversion from 0 to 2047 correspond to the storage position of the row address RA = 0 in any memory bank of any physical bank group physical bank. The column address CA changes from 0 to 511 with respect to these addresses. Address is 204
When the number exceeds 7, the row address increases by 1 and 2048
The row address is incremented by 1 each time the number of rows is exceeded.

【0061】図4に戻り、リクエストバッファ部37
は、リクエスタ17から発行されたリクエストを一時保
持し、リクエスト送出制御部43の制御によりそのリク
エスト内の物理バンクグループ物理バンク番号RBG#
が指し示す、プライオリティ制御部44〜47の一つに
そのリクエストをパス48〜51の一つを介して送出す
る。リクエストバッファ42およびリクエスト送出制御
部43の内部構成については前述の第3の参考文献に詳
しく開示されている。ここでは簡単化のためにその詳細
の説明は省略する。そこに記載の技術を参照によりここ
に組み込む。
Returning to FIG. 4, the request buffer unit 37
Holds the request issued from the requester 17 temporarily, and under the control of the request sending control unit 43, the physical bank group physical bank number RBG # in the request.
The request is sent to one of the priority control units 44 to 47 pointed to by the path via one of the paths 48 to 51. The internal configurations of the request buffer 42 and the request transmission control unit 43 are disclosed in detail in the above-mentioned third reference document. Here, the detailed description is omitted for simplification. The techniques described therein are incorporated herein by reference.

【0062】(4B)プライオリティ制御部 プライオリティ制御部44〜47の各々には、リクエス
トバッファ部37〜40から最大4つのリクエストが同
時に供給される。すなわち、二つのメモリアクセスパイ
プライン3、4にある4つのリクエスタ17〜20によ
り出力された4つのリクエストが4つのリクエストバッ
ファ部37〜40を経由して、各プライオリティ制御部
に同時に送出されることが生じる。各プライオリティ制
御部は、複数のリクエストを同時に受け取ったときに
は、それらの間のメモリアクセス競合を調停してそれら
のリクエストを順次選択し、そのプライオリティ制御部
に対応する物理バンクバンクグループ33〜36の一つ
にそれらのリクエストを順次送る。
(4B) Priority Control Unit Each of the priority control units 44 to 47 is simultaneously supplied with a maximum of four requests from the request buffer units 37 to 40. That is, the four requests output by the four requesters 17 to 20 in the two memory access pipelines 3 and 4 are simultaneously sent to the priority control units via the four request buffer units 37 to 40. Occurs. When a plurality of requests are received at the same time, each priority control unit arbitrates the memory access conflict among them and sequentially selects the requests, and the priority control unit selects one of the physical bank bank groups 33 to 36. Send those requests one after another.

【0063】本実施形態例では、同期式DRAMの特徴
であるローアドレス固定モードが使用される回数を増大
するように、メモリアクセスパイプライン3および4に
関連する二つのリクエストを調停するところに特徴があ
る。より具体的には、このために、ローアドレスをロッ
クする回路を有し、あるメモリアクセスパイプラインに
よりロックされたローアドレスを有するメモリバンクの
他のローアドレスを他のアクセスパイプラインからのリ
クエストがアクセスしようとするときには、当該リクエ
ストより他のリクエストを優先するようになっている。
The present embodiment is characterized in that two requests related to the memory access pipelines 3 and 4 are arbitrated so as to increase the number of times the row address fixed mode, which is a characteristic of the synchronous DRAM, is used. There is. More specifically, for this purpose, a row address lock circuit is provided, and a request from another access pipeline requests another row address of a memory bank having a row address locked by a certain memory access pipeline. When trying to access, another request is prioritized over the request.

【0064】図6を参照するに、各プライオリティ制御
部、例えば44は、RA管理部78と、バンクビジー管
理部79と、リクエストレジスタ88〜91,98と、
プライオリティ回路96とからなる。リクエストレジス
タ88〜91はそれぞれリクエストバッファ部37〜4
0に対応して設けられたリクエストレジスタで、それぞ
れリクエストバッファ部37〜40の一つから送出され
た後続のリクエストに対してRA管理部78により生成
されるRA一致ビットRMとRA変更禁止ビットRI
と、さらにバンクビジー管理部79によりその後続のリ
クエストに対して生成されるバンクビジービットBBと
を組み合わせて保持する。これらのリクエストレジスタ
88〜91の一つに保持されたリクエストが、プライオ
リティ回路96によりすぐに選択されなかったときに
は、パス48〜51の一つから、その選択されなかった
リクエストがそのレジスタに繰り返して供給され、その
リクエストレジスタは、そのリクエストを毎サイクル繰
り返し保持する。この間、RA管理部78は、パス48
〜51の一つを介して繰り返し供給されるそのリクエス
トに対して、プライオリティ回路96により新たに選択
されたリクエストに依存して、RA一致ビットRMとR
A変更禁止ビットRIの新たな値を毎サイクル決定す
る。同様に、バンクビジー管理部79もそれらのリクエ
ストに対してバンクビジービットBBを毎サイクル新た
に生成する。
Referring to FIG. 6, each priority control unit, eg, 44, includes an RA management unit 78, a bank busy management unit 79, request registers 88 to 91, 98,
And a priority circuit 96. The request registers 88 to 91 are request buffer units 37 to 4 respectively.
In the request register provided corresponding to 0, the RA match bit RM and the RA change prohibition bit RI generated by the RA management unit 78 for the subsequent requests sent from one of the request buffer units 37 to 40, respectively.
And a bank busy bit BB generated for the subsequent request by the bank busy management unit 79 in combination and held. When the request held in one of these request registers 88-91 is not immediately selected by the priority circuit 96, the unselected request is repeated in one of the paths 48-51. The request register is supplied and holds the request repeatedly every cycle. During this period, the RA management unit 78 is
, The RA match bits RM and R depending on the request newly selected by the priority circuit 96.
A new value of the A change prohibition bit RI is determined every cycle. Similarly, the bank busy management unit 79 newly generates a bank busy bit BB for each of those requests.

【0065】RA管理部78は、このプライオリティ制
御部に対応する物理バンクバンクグループ内の4つのメ
モリバンクの各々に対応して、そのメモリバンクを最近
にアクセスしたリクエストを記憶し、パス48〜51の
いずれか、例えば48を介してリクエストバッファ部3
7から新たに後続のリクエストが送られるごとに、その
後続のリクエストが指定する物理バンクグループ内メモ
リバンク番号BKa#を有するメモリバンクに対応して
記憶してある、先行するリクエストのローアドレスRA
と、その後続のリクエストのローアドレスRAとを比較
する。もし、これらのローアドレスが一致した場合に
は、リクエストレジスタ88〜91の内、その後続のリ
クエストを送出したリクエストバッファ部37に対応す
る一つのリクエストレジスタ88に、パス80を介して
値「1」を有するRA一致ビットRMを送出する。
The RA management unit 78 stores a request that recently accessed the memory bank corresponding to each of the four memory banks in the physical bank bank group corresponding to this priority control unit, and the paths 48 to 51 are stored. Request buffer unit 3 via any one of, for example, 48
Each time a new subsequent request is sent from the device 7, the row address RA of the previous request stored corresponding to the memory bank having the memory bank number BKa # in the physical bank group designated by the subsequent request.
And the row address RA of the subsequent request are compared. If these row addresses match, one of the request registers 88 to 91 corresponding to the request buffer unit 37 that has sent the subsequent request has a value of “1” via the path 80. RA match bit RM with ".

【0066】さらにRA管理部78では、上記比較の結
果、二つのローアドレスが一致する場合、この先行する
リクエストにより上記メモリバンクがロックされている
場合には、次のようにしてこの後続のリクエストに対し
てリクエストレジスタ88に供給すべきRA変更禁止ビ
ットRIの値を1にする。すなわち、RA管理部78
は、いずれかのメモリアクセスパイプライン、例えば
4、の中のいずれかのリクエスタ、たとえば、19から
発行された、一群の偶数番目のベクトル要素に対するア
クセスを要求する一群のリクエストの内、いくつかのす
でに実行された先行するリクエストが、すでにある一つ
のメモリバンクをアクセスしており、その一群のリクエ
ストの内のこれから実行される予定の後続のリクエスト
もそのメモリバンクをアクセスし、かつ、そのメモリバ
ンクをアクセスするこれらの先行するリクエストおよび
後続のリクエストが指定するローアドレスRAが互いに
一致する場合、そのメモリバンクに関してそのローアド
レスをロックするようになっている。もし、あるメモリ
バンクのあるローアドレスが、あるメモリアクセスパイ
プライン、今の例では、4のためにロックされた場合、
他のメモリアクセスパイプライン、今の例では3からの
メモリリクエストに基づいて、例えば、リクエストバッ
ファ37により発行されたこれから実行されるべき後続
のリクエストが、このメモリバンクの中の異なるローア
ドレスを有する記憶位置をアクセスする場合、この後続
のリクエストに対してRAを変更することを禁止するた
めに、この後続のリクエストに対して与えるRA変更禁
止ビットRIを「1」にする。RA管理部78の詳細は
後に示す。
Further, in the RA management section 78, if the two row addresses match as a result of the comparison, and the memory bank is locked by the preceding request, the subsequent request is performed as follows. The value of the RA change prohibition bit RI to be supplied to the request register 88 is set to 1. That is, the RA management unit 78
Is a request for access to a group of even-numbered vector elements issued by any requester in any of the memory access pipelines, eg 4, 4, eg 19, A preceding request that has already been executed accesses an existing memory bank, and a subsequent request of the group of requests that is to be executed will also access that memory bank, and that memory bank When the row address RA specified by these preceding request and the subsequent request for accessing the memory address coincide with each other, the row address is locked with respect to the memory bank. If a row address in a memory bank is locked for a memory access pipeline, in this example 4,
Based on the memory request from another memory access pipeline, in this example 3, a subsequent request to be executed, for example issued by the request buffer 37, will have a different row address in this memory bank. When accessing the storage location, the RA change prohibition bit RI given to this subsequent request is set to "1" in order to prohibit changing the RA for this subsequent request. Details of the RA management unit 78 will be described later.

【0067】バンクビジー管理部79では、対応する物
理バンクバンクグループの各メモリバンク毎にそのバン
クがビジー状態にあるときには引き続きそのビジー状態
にあると予想される時間を表すバンクビジータイムBT
を記憶するようになっている。パス48〜51のいずれ
か、例えば、48から前述のように後続のリクエストが
供給された場合、この後続のリクエストが指定する物理
バンクグループ物理バンク内メモリバンク番号BKa#
を有するメモリバンクに対応して記憶してあるバンクビ
ジータイムBTを参照し、もしそのメモリバンクがビジ
ーであれば、パス84〜87の一つ、今の例では、84
を介してリクエストレジスタ88〜91の一つ、今の例
では88に値1のバンクビジービットBBを供給する。
バンクビジー管理部79の詳細は後に説明する。
In the bank busy management section 79, for each memory bank of the corresponding physical bank group, when the bank is in the busy state, the bank busy time BT representing the time expected to be in the busy state continues.
Is stored. When a subsequent request is supplied from one of the paths 48 to 51, for example, 48 as described above, the physical bank group designated by the subsequent request is the memory bank number BKa # in the physical bank.
The bank busy time BT stored in association with the memory bank having the following is referred to, and if the memory bank is busy, one of the paths 84 to 87, in the present example, 84.
A bank busy bit BB having a value of 1 is supplied to one of the request registers 88 to 91, which is 88 in this example, via the.
Details of the bank busy management unit 79 will be described later.

【0068】プライオリティ回路96は、リクエストレ
ジスタ88〜91内の4つのリクエストの一つを毎サイ
クル選ぶ。このとき、対応する物理バンクバンクグルー
プ内の4つのメモリバンクが、できるだけローアドレス
を変えないで連続してアクセスされるように、これらの
リクエストのRA一致ビットRM、RA変更禁止ビット
RIおよびバンクビジービットBBを用いて、リクエス
トを選択する。プライオリティ回路96の詳細は後に述
べる。
The priority circuit 96 selects one of the four requests in the request registers 88 to 91 every cycle. At this time, the RA match bit RM, the RA change prohibition bit RI, and the bank busy of these requests are set so that the four memory banks in the corresponding physical bank bank group are continuously accessed without changing the row address as much as possible. Select the request using bit BB. Details of the priority circuit 96 will be described later.

【0069】プライオリティ回路96により選択された
リクエストは、リクエストレジスタ98にセットされ
る。そのリクエストの内、カラムアドレスCA、ローア
ドレスRA、リクエスト選択成功信号SSおよびバンク
グループ内メモリバンク番号BKa#は、それぞれ、パ
ス99〜102およびそれらを束ねたパス29を介して
主記憶装置6に送られる。なお、後に説明するように、
このリクエストのいろいろの信号が、RA管理部78お
よびバンクビジー管理部79にも送られる。
The request selected by the priority circuit 96 is set in the request register 98. Among the requests, the column address CA, the row address RA, the request selection success signal SS, and the memory bank number BKa # in the bank group are stored in the main storage device 6 via the paths 99 to 102 and the path 29 that bundles them. Sent. In addition, as described later,
Various signals of this request are also sent to the RA management unit 78 and the bank busy management unit 79.

【0070】(4C)プライオリティ回路 図11を参照するに、プライオリティ回路96では、リ
クエストレジスタ231〜234は、パス92〜95を
介してリクエストレジスタ88〜91からそれぞれリク
エストを受け取る。すなわち、リクエストレジスタ23
1又は232はメモリアクセスパイプライン3内のリク
エスタ17又は18から発行された一群のリクエストを
順次保持する。同様に、リクエストレジスタ233又は
234はメモリアクセスパイプライン4内のリクエスタ
19又は20から発行された一群のリクエストを順次保
持する。リクエストレジスタ231内にリクエストを構
成するいろいろの情報を図に示す。
(4C) Priority Circuit Referring to FIG. 11, in the priority circuit 96, the request registers 231 to 234 receive the requests from the request registers 88 to 91 via the paths 92 to 95, respectively. That is, the request register 23
1 or 232 sequentially holds a group of requests issued from the requesters 17 or 18 in the memory access pipeline 3. Similarly, the request register 233 or 234 sequentially holds a group of requests issued from the requester 19 or 20 in the memory access pipeline 4. A variety of information constituting the request is shown in the request register 231.

【0071】セレクタ239は、リクエストレジスタ2
31,232の両方に有効なリクエストがある場合は、
プライオリティレジスタ243が与えるセレクト信号2
44にしたがってどちらか一方を選択し、どちらか一方
にしか有効なリクエストがない場合には、プライオリテ
ィレジスタ243が示すセレクト信号244に依存しな
いで、その有効なリクエストを選択する。セレクタ24
0も同様にリクエストレジスタ233、234から一つ
のリクエストをプライオリティレジスタ246の値にし
たがって選択する。
The selector 239 uses the request register 2
If both 31 and 232 have valid requests,
Select signal 2 given by the priority register 243
According to 44, either one is selected, and when only one has a valid request, the valid request is selected without depending on the select signal 244 indicated by the priority register 243. Selector 24
Similarly, 0 selects one request from the request registers 233 and 234 according to the value of the priority register 246.

【0072】セレクタ239は、選択したリクエストが
リクエストレジスタ231と232のいずれに保持され
ているリクエストであるかを示す値が0または1のレジ
スタ識別番号をパス245を介してプライオリティレジ
スタ243に供給する。プライオリティレジスタ243
は、このレジスタ識別番号を反転した値をセレクタ23
9にセレクト信号としてパス244を介して供給する。
これによりセレクタ239は基本的にはレジスタ231
と232を交互に選択する。他のリクエストレジスタ2
33、234、セレクタ240、プライオリティレジス
タ246も全く同様に動作する。
The selector 239 supplies to the priority register 243 via the path 245 a register identification number having a value of 0 or 1 indicating which of the request registers 231 and 232 holds the selected request. . Priority register 243
Selects the value obtained by inverting the register identification number
9 as a select signal via the path 244.
As a result, the selector 239 basically registers the register 231.
And 232 are selected alternately. Other request register 2
33, 234, the selector 240, and the priority register 246 operate in exactly the same manner.

【0073】セレクタ239,240で選択されたリク
エストは、それぞれパス241,242を介してリクエ
ストレジスタ249,250に転送される。リクエスト
レジスタ231および232はメモリアクセスパイプラ
イン3からのリクエストを保持し、リクエストレジスタ
233、234はメモリアクセスパイプライン4からの
リクエストを保持するので、リクエストレジスタ249
にはメモリアクセスパイプライン3からのリクエストの
うち選択されたものが保持され、リクエストレジスタ2
50にはメモリアクセスパイプライン4からのリクエス
トのうち選択されたものが保持されることになる。
The requests selected by the selectors 239 and 240 are transferred to the request registers 249 and 250 via the paths 241 and 242, respectively. Since the request registers 231 and 232 hold the request from the memory access pipeline 3, and the request registers 233 and 234 hold the request from the memory access pipeline 4, the request register 249.
Holds the selected request from the memory access pipeline 3, and the request register 2
A selected one of the requests from the memory access pipeline 4 is held in 50.

【0074】リクエストレジスタ249,250に保持
されたリクエストは、それぞれ、パス251,252を
介してReq変換回路290,291に送出される。R
eq変換回路290は、そこに送出されたリクエストが
有効なリクエストではあるが、そのリクエストが要求す
るメモリバンクがビジーの時(BB=1)のときに、そ
のリクエストのリクエストフラグReqを0にする回路
で、これによりこのリクエストを無効にする。このリク
エストが要求するバンクがビジーのために実行できない
ので、本プライオリティ回路96での選択の対象からは
ずす。Req変換回路291についても同じである。
The requests held in the request registers 249 and 250 are sent to the Req conversion circuits 290 and 291 via the paths 251 and 252, respectively. R
The eq conversion circuit 290 sets the request flag Req of the request to 0 when the request sent to the eq conversion circuit 290 is a valid request but the memory bank requested by the request is busy (BB = 1). In the circuit, this invalidates this request. Since the bank requested by this request cannot be executed because it is busy, it is excluded from the selection targets in this priority circuit 96. The same applies to the Req conversion circuit 291.

【0075】スイッチ253は、リクエストレジスタ2
49,250に保持された二つのリクエストの一方を選
択する回路であり、PL間プライオリティ管理部299
はこのスイッチを制御するセレクト信号286を与える
回路で、本実施形態例の特徴的な回路の一つである。こ
の回路によるスイッチ253でのリクエスト選択を制御
するときの動作条件は以下の通りである。
The switch 253 is used for the request register 2
This is a circuit for selecting one of the two requests held in 49 and 250, and is a PL priority management unit 299.
Is a circuit for giving a select signal 286 for controlling this switch, which is one of the characteristic circuits of this embodiment. The operation conditions for controlling the request selection by the switch 253 by this circuit are as follows.

【0076】(1)有効なリクエストの中では、ローア
ドレス固定モードでの動作の回数を増大するようなリク
エストを、そうでないリクエストより優先する。
(1) Among valid requests, a request that increases the number of operations in the row address fixed mode is prioritized over a request that does not.

【0077】この条件(1)は、具体的には次の条件に
する。
The condition (1) is specifically set as follows.

【0078】(1A)各メモリバンクに対して最近にア
クセスされたローアドレスと異なるローアドレスをアク
セスするリクエストより、その最近にアクセスされたロ
ーアドレスと同じローアドレスをアクセスするリクエス
トを優先する。
(1A) A request for accessing the same row address as the recently accessed row address is given priority over a request for accessing a row address different from the recently accessed row address for each memory bank.

【0079】この条件(1A)は、さらにより具体的に
は、次の条件にする。
More specifically, the condition (1A) is the following condition.

【0080】(1AA)一方のメモリアクセスパイプラ
インからのメモリアクセスリクエストによりロックされ
たローアドレスを有するメモリバンクに対して、他方の
メモリアクセスパイプラインからのリクエストがそのロ
ックされたローアドレスと異なるローアドレスをアクセ
スするときには、そのリクエストより、上記一方のメモ
リアクセスパイプラインからのリクエストを優先する。
(1AA) For a memory bank having a row address locked by a memory access request from one memory access pipeline, a request from the other memory access pipeline has a row address different from the locked row address. When accessing an address, the request from the one memory access pipeline is given priority over the request.

【0081】この条件(1AA)は、さらにより具体的
には、次の条件にする。
More specifically, this condition (1AA) is set as follows.

【0082】(1AAA)一方のメモリアクセスパイプ
ラインからのメモリアクセスリクエストによりロックさ
れたローアドレスを有するメモリバンクに対して、他方
のメモリアクセスパイプラインからのリクエストがその
ロックされたローアドレスと異なるローアドレスをアク
セスするときには、上記一方のメモリアクセスパイプラ
インからの所定数n(nは複数)個の有効なリクエスト
が選択された後に、上記他方のメモリアクセスパイプラ
インからの上記リクエストを選択する。
(1AAA) For a memory bank having a row address locked by a memory access request from one memory access pipeline, a request from the other memory access pipeline has a row address different from that locked row address. When accessing an address, a predetermined number n (n is a plural number) of valid requests from the one memory access pipeline are selected, and then the request from the other memory access pipeline is selected.

【0083】(2)二つのメモリアクセスパイプライン
からのメモリアクセスリクエストがともに、有効で、上
記の条件(1)(あるいはそれのより具体的な条件(1
A)から(1AAA))に該当しない時には、それらの
メモリアクセスパイプラインからのメモリアクセスリク
エストをほぼ同じ優先度で選択する。
(2) Both of the memory access requests from the two memory access pipelines are valid, and the above condition (1) (or more specific condition (1) is satisfied).
When A) to (1AAA)) are not applicable, memory access requests from those memory access pipelines are selected with almost the same priority.

【0084】(3)一方のメモリアクセスパイプライン
からのメモリアクセスリクエストが有効で、他方のメモ
リアクセスパイプラインからのメモリアクセスリクエス
トが無効の場合、その有効なリクエストが上記の条件
(1)(あるいはそれのより具体的な条件(1A)から
(1AAA))に該当しない時には、その有効なリクエ
ストを選択する。
(3) When the memory access request from one memory access pipeline is valid and the memory access request from the other memory access pipeline is invalid, the valid request is the above condition (1) (or When the more specific conditions (1A) to (1AAA)) are not satisfied, the valid request is selected.

【0085】(4)無効なリクエストは選択しない。但
し、他に選択可能な有効なリクエストがない場合には、
無効なリクエストを選択するようにしてもよい。
(4) An invalid request is not selected. However, if there is no other valid request that can be selected,
An invalid request may be selected.

【0086】以下、スイッチ253とPL間プライオリ
ティ管理部299の動作を詳細に説明する。スイッチ2
53は、PL間プライオリティ管理部299からのセレ
クト信号に依存して、リクエストレジスタ249,25
0のどちらか一方から有効なリクエストを選択し、選択
されたリクエストをパス97に送出し、有効なリクエス
トの選択が成功したことを示すリクエスト選択成功信号
SSと選択されたリクエストのメモリアクセスパイプラ
イン番号PL#とをパス254を介してPL間プライオ
リティ管理部299に送出する。さらに、スイッチ25
3は、リクエストレジスタ249、250をそれぞれ選
択したときに、それぞれパス500、501を介してそ
のことをセレクタ239、240に通知する。スイッチ
253において選択されたリクエストはリクエストレジ
スタ249,250から削除され、選択されなかったリ
クエストはそのままリクエストレジスタ249,250
に保持される。
The operations of the switch 253 and the PL priority management section 299 will be described in detail below. Switch 2
Reference numeral 53 denotes request registers 249 and 25 depending on the select signal from the PL priority management unit 299.
A valid request is selected from either 0, the selected request is sent to the path 97, and the request selection success signal SS indicating that the selection of the valid request is successful and the memory access pipeline of the selected request. The number PL # and PL # are sent to the inter-PL priority management unit 299 via the path 254. In addition, switch 25
3 selects the request registers 249 and 250, respectively, and notifies the selectors 239 and 240 of that fact via the paths 500 and 501, respectively. The request selected by the switch 253 is deleted from the request registers 249 and 250, and the request not selected is directly stored in the request registers 249 and 250.
Is held.

【0087】PL間プライオリティ管理部299には、
リクエストレジスタ249、250からリクエストがそ
れぞれ線258、259を介して送られる。但し、それ
らのリクエスト内のリクエストフラグReqは送られな
い。それに代えて、Req変換回路290、291から
線292、293を介して送られる。図12に示すよう
に、PL間プライオリティ管理部299では、デコーダ
257は、パス254を介してスイッチ253(図1
1)から与えられる、選択されたリクエスト内のメモリ
アクセスパイプライン番号PL#をデコードし、この番
号が0のときには、パス261,262にそれぞれ1、
0を出力し、この番号が1のときには、パス261,2
62にそれぞれ0、1を出力する。
The PL priority management section 299 includes:
Requests are sent from request registers 249 and 250 via lines 258 and 259, respectively. However, the request flag Req in those requests is not sent. Instead, it is sent from Req conversion circuits 290, 291 via lines 292, 293. As shown in FIG. 12, in the inter-PL priority management unit 299, the decoder 257 causes the switch 253 (see FIG. 1) via the path 254.
1) The memory access pipeline number PL # in the selected request given from 1) is decoded, and when this number is 0, 1 is assigned to paths 261 and 262, respectively.
When 0 is output and this number is 1, the paths 261 and 261 are
0 and 1 are output to 62, respectively.

【0088】NOTゲート287には、パス258を介
してリクエストレジスタ249から、メモリアクセスパ
イプライン3からのリクストのRA一致ビットRMが与
えられる。同様にNOTゲート288には、パス259
を介してリクエストレジスタ250から、メモリアクセ
スパイプライン4からのリクストのRA一致ビットRM
が与えられる。ANDゲート600には、NOTゲート
287の出力と線258、611を介して与えられるR
L更新禁止信号RIが与えられる。同様に、ANDゲー
ト601には、NOTゲート288の出力と線259を
介して与えられるメモリアクセスパイプライン4からの
リクエストのRL更新禁止信号RIが与えられる。AN
Dゲート263には、メモリアクセスパイプライン3に
対するReq更新回路290により線292を介して与
えられるリクエストフラグReq、スイッチ253から
線254、255を介して与えられるリクエスト選択成
功信号SS、ANDゲート600の出力260、デコー
ダ257の出力262が入力される。同様に、ANDゲ
ート270には、メモリアクセスパイプライン4に対す
るReq更新回路291により線293を介して与えら
れるリエストフラグReq、スイッチ253から線25
4、255を介して与えられるリクエスト選択成功信号
SS、ANDゲート601の出力289、デコーダ25
7の出力261が入力される。ANDゲート602に
は、リクエスト選択成功信号SSとデコーダ257の出
力261が入力される。同様に、ANDゲート603に
は、リクエスト選択成功信号SSとデコーダ257の出
力262が入力される。
The NOT gate 287 is supplied with the RA match bit RM of the request from the memory access pipeline 3 from the request register 249 via the path 258. Similarly, the NOT gate 288 has a path 259.
RA match bit RM of the request from the memory access pipeline 4 from the request register 250 via
Is given. AND gate 600 is provided with R output from NOT gate 287 and lines 258 and 611.
An L update prohibition signal RI is given. Similarly, the AND gate 601 is supplied with the output of the NOT gate 288 and the RL update prohibition signal RI of the request from the memory access pipeline 4 supplied via the line 259. AN
The D gate 263 has a request flag Req provided via the line 292 by the Req update circuit 290 for the memory access pipeline 3, a request selection success signal SS provided from the switch 253 via the lines 254 and 255, and an AND gate 600. The output 260 and the output 262 of the decoder 257 are input. Similarly, the AND gate 270 has a request flag Req provided via the line 293 by the Req update circuit 291 for the memory access pipeline 4 and a line 25 from the switch 253.
4, the request selection success signal SS, the output 289 of the AND gate 601 and the decoder 25.
7 output 261 is input. The request selection success signal SS and the output 261 of the decoder 257 are input to the AND gate 602. Similarly, the request selection success signal SS and the output 262 of the decoder 257 are input to the AND gate 603.

【0089】カウンタ265は、リクエスト選択成功信
号SSが1になり、かつ、デコーダ257の出力261
が1になったときにリセットされ、ANDゲート263
の出力264が1になった回数をカウントする。同様
に、カウンタ272は、リクエスト選択成功信号SSが
1になり、かつ、デコーダ257の出力262が1にな
ったときにリセットされ、ANDゲート270の出力2
71が1になった回数をカウントする。
The counter 265 outputs a request selection success signal SS of 1 and an output 261 of the decoder 257.
Is reset when becomes 1, and AND gate 263
The output 264 of 1 is counted. Similarly, the counter 272 is reset when the request selection success signal SS becomes 1 and the output 262 of the decoder 257 becomes 1, and the output 2 of the AND gate 270 is reset.
The number of times 71 becomes 1 is counted.

【0090】NOTゲート287の出力は、図11のリ
クエストレジスタ249に保持されたリクエストのRA
一致ビットRMが「0」である場合、すなわち先行する
リクエストのRAとレジスタ249内の後続のリクエス
トのRAとが一致しなかった場合に、ANDゲート60
0に「1」を入力する。ANDゲート600の出力は、
ANDゲート263に入力される。同様に、NOTゲー
ト288は、図11のリクエストレジスタ250に保持
されたリクエストのRA一致ビットRMが「0」である
場合、すなわち先行するリクエストのRAとレジスタ2
50内の後続のリクエストのRAとが一致しなかった場
合に、ANDゲート601に「1」を入力する。AND
ゲート601の出力は、ANDゲート270に入力され
る。デコーダ257は、図11のスイッチ253で選択
された先行するリクエストのメモリアクセスパイプライ
ン番号PL#をデコードして、結果をパス261,26
2を介してANDゲート602,270,263,60
3に入力する。そして、ANDゲート263の出力をカ
ウンタ265のセット(set)に、ANDゲート60
2の出力をカウンタ265のリセット(reset)に
入力する。また、ANDゲート270の出力をカウンタ
272のセット(set)に、ANDゲート603の出
力をカウンタ272のリセット(reset)に入力す
る。
The output of the NOT gate 287 is the RA of the request held in the request register 249 of FIG.
If the match bit RM is "0", that is, the RA of the preceding request and the RA of the subsequent request in the register 249 do not match, the AND gate 60
Enter “1” in 0. The output of the AND gate 600 is
It is input to the AND gate 263. Similarly, when the RA match bit RM of the request held in the request register 250 of FIG. 11 is “0”, that is, the NOT gate 288 outputs the RA of the preceding request and the register 2
If the RA of the subsequent request in 50 does not match, “1” is input to the AND gate 601. AND
The output of the gate 601 is input to the AND gate 270. The decoder 257 decodes the memory access pipeline number PL # of the preceding request selected by the switch 253 of FIG. 11 and outputs the result to the paths 261 and 26.
AND gates 602, 270, 263, 60
Enter 3 The output of the AND gate 263 is set in the counter 265, and the AND gate 60 is set.
The output of 2 is input to the reset of the counter 265. The output of the AND gate 270 is input to the set (set) of the counter 272, and the output of the AND gate 603 is input to the reset (reset) of the counter 272.

【0091】例えば、パス293上のReqが「1」、
パス292上のReqが「1」、パス255上のSSが
「1」のときに、パス258上のRMが「1」、パス2
59上のRMが「0」、パス259上のRIが「1」、
パス258上のRIが「0」、デコーダ257に入力す
るPL#が「0」であると仮定する。
For example, Req on the path 293 is "1",
When Req on the path 292 is “1” and SS on the path 255 is “1”, RM on the path 258 is “1”, path 2
RM on 59 is “0”, RI on path 259 is “1”,
It is assumed that the RI on the path 258 is “0” and the PL # input to the decoder 257 is “0”.

【0092】PL#が「0」であることは、スイッチ2
53において選択された先行するリクエストがメモリア
クセスパイプライン3から発行されたものであることを
示す。この場合には、デコーダ257の出力261が1
となる。パス259上のRIが「1」であることは、リ
クエストレジスタ250内にある、メモリアクセスライ
ン4からのリクエストが要求するメモリバンクのいずれ
かのローアドレスがロックされていることを示す。さら
に、パス259上のRMが「0」であることは、メモリ
アクセスパイプライン4からのこの、リクエストのロー
アドレスと、ロックされているローアドレスとが一致し
なかったことを示す。
The fact that PL # is "0" means that switch 2
It indicates that the preceding request selected in 53 is issued from the memory access pipeline 3. In this case, the output 261 of the decoder 257 is 1
Becomes When the RI on the path 259 is "1", it means that any row address of the memory bank in the request register 250 requested by the request from the memory access line 4 is locked. Further, the fact that the RM on the path 259 is “0” indicates that the row address of the request from the memory access pipeline 4 and the locked row address do not match.

【0093】このようにあるメモリバンクがロックされ
ているローアドレスを有するということは、本実施形態
例でのロックの定義から明らかなように、(1)アクセ
スパイプライン3からの一連のメモリアクセスリクエス
トの中に、複数のメモリアクセスリクエストがあるこ
と、(2)さらに、それらの複数のメモリアクセスリク
エストの内の先頭のものはすでに実行されたこと、
(3)しかし、それらのメモリアクセスリクエストの内
の最後のものはまだ実行されていないことを示す。すな
わち、このメモリバンクは、本実施形態例では、ローア
ドレス固定モードで動作している。従って、リクエスト
レジスタ250にある、アクセスパイプライン4からの
リクエストに、このメモリバンクへのアクセスを許す
と、このリクエストのために、このメモリバンクをそれ
までアクセスしたローアドレスと異なるローアドレスで
もってアクセスすることになる。
The fact that a certain memory bank has a locked row address, as is clear from the definition of the lock in this embodiment, is as follows: (1) A series of memory access from the access pipeline 3. There are multiple memory access requests in the request, (2) Furthermore, the first one of the multiple memory access requests has already been executed,
(3) However, it indicates that the last of those memory access requests has not yet been executed. That is, this memory bank operates in the row address fixed mode in this embodiment. Therefore, when a request from the access pipeline 4 in the request register 250 is allowed to access this memory bank, this memory bank is accessed for this request with a row address different from the row address that has been accessed so far. Will be done.

【0094】言い換えると、このメモリバンクは、ロー
アドレス固定モードでの動作を終了した上で、別のロー
アドレスを新たにアクセスしなければならない。本実施
形態例では、このように、ローアドレス固定モードでの
動作の回数を減少するリクエストは選択しない。このリ
クエストより、他のリクエスト、今の例では、メモリバ
ンクをロックをしているメモリアクセスリクエスト、今
の例で3、からのアクセスを優先する。本実施形態例で
は、メモリアクセスパイプライン3からの、所定数nの
リクエストが選択された後に、このメモリアクセスリク
エスト4からの上記リクエストを選択するようになって
いる。このための選択動作は後に説明する。ANDゲー
ト601の出力は、メモリアクセスパイプライン4から
のリクエストが上に述べた特殊な条件を満たす、実行さ
れないリクエストであるときに1となる。ANDゲート
600も同様である。
In other words, this memory bank must newly access another row address after completing the operation in the row address fixed mode. In this example of the embodiment, a request that reduces the number of operations in the row address fixed mode is not selected. From this request, the access from another request, in this example, the memory access request that locks the memory bank, and in this example, 3 is prioritized. In this embodiment, after the predetermined number n of requests from the memory access pipeline 3 are selected, the above-mentioned requests from the memory access request 4 are selected. The selection operation for this will be described later. The output of the AND gate 601 becomes 1 when the request from the memory access pipeline 4 is a non-executed request satisfying the special condition described above. The same applies to the AND gate 600.

【0095】上記の値nは、プロセッサシステムの全体
の性能が大きくなるように適宜性能を測定して選ぶこと
が望ましい。値が大きいほど、ローアドレス固定モード
で動作する機会が増大し、プロセッサシステムの性能が
増大するが、一方のメモリアクセスパイプラインからの
リクエストが選択されない期間が増大し、その性能が相
対的に低下する可能性がある。但し、一つのローアドレ
スに属する異なるカラムアドレスの総数(図2の例では
16)よりは小さくすることが望ましい。
The above value n is preferably selected by appropriately measuring the performance so as to increase the overall performance of the processor system. The higher the value, the more chances to operate in fixed row address mode and the performance of the processor system increase, but the period from which the request from one memory access pipeline is not selected increases and the performance decreases relatively. there's a possibility that. However, it is desirable to make it smaller than the total number (16 in the example of FIG. 2) of different column addresses belonging to one row address.

【0096】カウンタ272は、このような状態でメモ
リアクセスリクエスト3からのリクエストが引き続き選
択される回数を数えるためのものである。同様に、カウ
ンタ265はメモリアクセスパイプライン4からのリク
エストが選択される回数をカウントするためのものであ
る。今の仮定の場合には、ANDゲート601の出力2
89が「1」となる。結局、ANDゲート270の出力
271が「1」となる。これによりカウンタ272のセ
ット入力が「1」となり、カウンタ272の値が1だけ
カウントアップされる。一方、ANDゲート602の出
力も1となるので、カウンタ265はリセットされる。
このように、本実施形態例では、カウンタ265,27
2のいずれか一方がカウントアップされるとき、他方は
必ずリセットされるため、常にどちらか一方の値は
「0」となる。
The counter 272 is for counting the number of times the request from the memory access request 3 is continuously selected in such a state. Similarly, the counter 265 is for counting the number of times the request from the memory access pipeline 4 is selected. Under the present assumption, the output 2 of the AND gate 601
89 becomes "1". Eventually, the output 271 of the AND gate 270 becomes "1". As a result, the set input of the counter 272 becomes "1", and the value of the counter 272 is incremented by 1. On the other hand, the output of the AND gate 602 also becomes 1, so the counter 265 is reset.
As described above, in this embodiment, the counters 265 and 27 are used.
When one of the two is counted up, the other is always reset, so that the value of either one is always "0".

【0097】比較器268は、カウンタ265の値と数
値「n」を比較し、一致あるいは不一致が検出されたと
きにそれぞれ値1、0を取る比較結果をエンコーダ27
7およびNORゲート279に送出する。比較器275
も同様にカウンタ272と値「n」との比較を行う。こ
の結果、NORゲート279の出力は、カウンタ26
5、272の少なくとも一方の値がnに達したときに1
になる。
The comparator 268 compares the value of the counter 265 with the numerical value "n", and when the coincidence or the disagreement is detected, the comparison results of taking the values 1 and 0 respectively are given by the encoder 27.
7 and NOR gate 279. Comparator 275
Similarly, the counter 272 is compared with the value “n”. As a result, the output of the NOR gate 279 is the counter 26
1 when at least one of the values 5, 272 reaches n
become.

【0098】エンコーダ277は、比較器268、27
5の出力をコード化した信号を、セレクタ285に送出
する。例えば、比較器268,275の出力がそれぞれ
「1」、「0」であるとき、エンコーダ277の出力は
「0」となる。比較器268,275の出力がそれぞれ
「0」,「1」であるとき、エンコーダ277の出力は
「1」となる。NORゲート279の出力は、セレクタ
285にセレクト信号として送出される。セレクタ28
5は、NORゲート279の出力が1のときに、すなわ
ち、比較器268、275のいずれかの出力が1になっ
たとき、すなわち、カウンタ265、272のいずれか
のカウント値がnになったときに、エンコーダ277の
出力を選択する。こうして、カウンタ265あるいは2
75の値がnに達したときに、それまで選択されない状
態にあったリクエストを選択する信号がセレクタ285
により生成される。
The encoder 277 includes comparators 268 and 27.
The coded output of No. 5 is sent to the selector 285. For example, when the outputs of the comparators 268 and 275 are "1" and "0", respectively, the output of the encoder 277 is "0". When the outputs of the comparators 268 and 275 are "0" and "1", respectively, the output of the encoder 277 is "1". The output of the NOR gate 279 is sent to the selector 285 as a select signal. Selector 28
5 is when the output of the NOR gate 279 is 1, that is, when the output of either of the comparators 268 and 275 becomes 1, that is, when the count value of either of the counters 265 and 272 becomes n. At times, the output of the encoder 277 is selected. Thus, the counter 265 or 2
When the value of 75 reaches n, the signal for selecting a request that was not selected until then is the selector 285.
Generated by

【0099】セレクタ285は、カウンタ265、27
2のいずれもがカウント値がnになっていないときに
は、パス284を選ぶ。このパスには以下のようにして
メモリアクセスパイプラインの番号が生成される。
The selector 285 has counters 265 and 27.
When the count value of neither of the two is n, the path 284 is selected. The number of the memory access pipeline is generated in this path as follows.

【0100】NOTゲート281には、スイッチ253
(図11)からパス256、612を介してメモリアク
セスパイプライン番号PL#が供給され、その出力は、
プライオリティレジスタ283の入力「D」に送出され
る。このプライオリティレジスタ283のイネーブル入
力「E」には、スイッチ253(図11)からパス25
4、255を介してリクエスト選択成功信号SSが入力
され、このプライオリティレジスタ283のデータ入力
「D」には、NOTゲート281の出力が入力される。
すなわち、プライオリティレジスタ283は、リクエス
ト選択成功信号SSが「1」である場合にのみ、メモリ
アクセスパイプライン番号PL#を反転した値を保持す
る。
A switch 253 is connected to the NOT gate 281.
The memory access pipeline number PL # is supplied from (FIG. 11) via paths 256 and 612, and its output is
It is sent to the input "D" of the priority register 283. The enable input “E” of the priority register 283 is connected to the path 25 from the switch 253 (FIG. 11).
The request selection success signal SS is input via 4, 255, and the output of the NOT gate 281 is input to the data input “D” of the priority register 283.
That is, the priority register 283 holds the inverted value of the memory access pipeline number PL # only when the request selection success signal SS is "1".

【0101】ANDゲート605には、パス293を介
して供給されるリクエストフラグReqとNOTゲート
607により反転されたANDゲート601の出力とが
入力される。結局、ANDゲート605の出力は、メモ
リアクセスパイプライン4からのリクエストが有効なリ
クエストであり、かつ、このリクエストに対して、実行
禁止のための前述の条件(RI=1、RM=0)が成立
しないときに1となる。セレクタ609は、ANDゲー
ト605の出力がそれぞれ「0」の場合に、すなわち、
アクセスパイプライン4からのリクエストが無効か(こ
こで、無効なリクエストにはReq反転回路290又は
291により無効にされたリクエストを含む。以下でも
同様である。)、あるいは、有効、かつ、このリクエス
トが上記実行禁止条件を満たす時に、アクセスパイプラ
イン番号「0」を選択する。セレクタ609は、AND
ゲート605の出力がそれぞれ「1」の場合に、すなわ
ち、アクセスパイプライン4からのリクエストが有効、
かつ、上記実行禁止条件を満たさない時に、アクセスパ
イプライン番号「1」を選択する。
The AND gate 605 receives the request flag Req supplied via the path 293 and the output of the AND gate 601 inverted by the NOT gate 607. After all, the output of the AND gate 605 is a request in which the request from the memory access pipeline 4 is valid, and the above-mentioned condition (RI = 1, RM = 0) for prohibiting execution is applied to this request. It becomes 1 when it is not established. The selector 609, when the output of the AND gate 605 is “0”, that is,
The request from the access pipeline 4 is invalid (here, the invalid request includes the request invalidated by the Req inverting circuit 290 or 291. The same applies to the following.), Or the valid request When the execution prohibition condition is satisfied, the access pipeline number "0" is selected. Selector 609 is AND
When the output of the gate 605 is "1", that is, the request from the access pipeline 4 is valid,
When the execution prohibition condition is not satisfied, the access pipeline number "1" is selected.

【0102】ANDゲート604、NOTゲート606
は、それぞれANDゲート605、NOTゲート607
と同様である。従って、ANDゲート604の出力は、
アクセスパイプライン3からのリクエストが無効か、あ
るいは有効、かつ、上記実行禁止条件を満たす時に0と
なる。ANDゲート604の出力は、アクセスパイプラ
イン3からのリクエストが有効で、上記実行禁止条件を
満たさない時に1になる。排他的論理和ゲート608に
は、ANDゲート604と605の出力が入力される。
セレクタ610は、排他的論理和ゲート608の出力が
0のときに、プライオリティレジスタ283の出力を選
択し、排他的論理和ゲート608の出力が1のときに、
セレクタ609の出力を選択する。
AND gate 604, NOT gate 606
Are AND gate 605 and NOT gate 607, respectively.
Is the same as Therefore, the output of the AND gate 604 is
It becomes 0 when the request from the access pipeline 3 is invalid or valid, and when the execution prohibition condition is satisfied. The output of the AND gate 604 becomes 1 when the request from the access pipeline 3 is valid and the execution prohibition condition is not satisfied. The outputs of the AND gates 604 and 605 are input to the exclusive OR gate 608.
The selector 610 selects the output of the priority register 283 when the output of the exclusive OR gate 608 is 0, and when the output of the exclusive OR gate 608 is 1,
The output of the selector 609 is selected.

【0103】セレクタ285は、NORゲート279の
出力が「0」の場合、すなわちカウンタ265,272
のいずれもが「n」になっていない場合に、セレクタ6
10の出力284を選択する。ANDゲート604、6
05の出力がともに1になるのは、二つのリクエストが
ともに有効で、かつ、二つのリクエストに対して、上記
実行禁止条件がともに成立しない場合である。このとき
には、排他的論理和ゲート608の出力は0となり、セ
レクタ610は、プライオリティレジスタ283の出力
を選択する。プライオリティレジスタ283では、直前
に選択されたメモリアクセスパイプラインではない方の
メモリアクセスパイプラインの番号を保持している。従
って、PL間プライオリティ管理部は、スイッチ253
(図11)によりリクエストが選択される毎に、選択さ
れていないメモリアクセスパイプラインからのリクエス
トを選択するように、メモリアクセスパイプライン間の
プライオリティを交互に1サイクルごとに切り替える。
これにより、二つのメモリアクセスパイプラインによる
メモリアクセスの機会の均等化を図る。
The selector 285 determines that the output of the NOR gate 279 is "0", that is, the counters 265 and 272.
If none of these are "n", the selector 6
10 outputs 284 are selected. AND gates 604 and 6
The output of 05 is 1 when both of the two requests are valid and the execution prohibition conditions are not satisfied for the two requests. At this time, the output of the exclusive OR gate 608 becomes 0, and the selector 610 selects the output of the priority register 283. The priority register 283 holds the number of the memory access pipeline which is not the memory access pipeline selected immediately before. Therefore, the inter-PL priority management unit uses the switch 253.
Each time a request is selected by (FIG. 11), the priority between the memory access pipelines is alternately switched every cycle so that the request from the unselected memory access pipeline is selected.
As a result, the opportunities for memory access by the two memory access pipelines are equalized.

【0104】ANDゲート604、605の一方の出力
が0で、他方の出力1になるのは、一方のリクエストが
無効、もしくは有効かつ上記実行禁止条件を満たし、他
方のリクエストが、有効、かつ、上記実行禁止条件を満
たさない場合である。この場合には、上記他方のリクエ
ストを選択すればよい。例えば、ANDゲート605が
1でANDゲート606が0の場合には、メモリアクセ
スパイプライン3からのリクエストが無効、もしくは有
効かつ上記実行禁止条件を満たし、メモリアクセスパイ
プライン4からのリクエストが、有効、かつ、上記実行
禁止条件を満たさない場合である。この場合には、AN
Dゲート605の出力1により、セレクタ609は、メ
モリアクセスパイプライン番号として1を選択する。こ
の場合には、排他的論理和ゲート608の出力は1とな
り、セレクタ610は、このセレクタ609の出力1を
選択する。こうして、メモリアクセスパイプライン番号
1が選ばれ、メモリアクセスパイプライン4からのリク
エストが選択される。ANDゲート604の出力が1、
ANDゲート605の出力が0の場合には、セレクタ6
10は、同様にして、メモリアクセスパイプライン番号
0を選択する。
One of the outputs of the AND gates 604 and 605 is 0 and the other output is 1 because one of the requests is invalid or valid and the execution prohibition condition is satisfied, and the other request is valid and This is a case where the above execution prohibition condition is not satisfied. In this case, the other request may be selected. For example, when the AND gate 605 is 1 and the AND gate 606 is 0, the request from the memory access pipeline 3 is invalid or valid and the execution prohibition condition is satisfied, and the request from the memory access pipeline 4 is valid. In addition, the above-mentioned execution prohibition condition is not satisfied. In this case, AN
The output 1 of the D gate 605 causes the selector 609 to select 1 as the memory access pipeline number. In this case, the output of the exclusive OR gate 608 is 1, and the selector 610 selects the output 1 of the selector 609. Thus, the memory access pipeline number 1 is selected, and the request from the memory access pipeline 4 is selected. The output of the AND gate 604 is 1,
When the output of the AND gate 605 is 0, the selector 6
Similarly, 10 selects the memory access pipeline number 0.

【0105】ANDゲート604、605の出力がとも
に0になるのは、一方のリクエストが無効、もしくは有
効かつ上記実行禁止条件を満たし、他方のリクエストが
無効な場合である。本実施形態例では、二つのリクエス
トが有効、かつ、上記実行禁止条件を満たす場合にもA
NDゲート604、605の出力がともに0になるが、
本実施形態例ではこのように二つのリクエストに対して
同時に上記実行禁止条件を満たすことは生じないように
なっているので、こういう場合は起きない。従って、A
NDゲート604、605の出力がともに0になった場
合には、いずれのリクエストも選択する必要がない。こ
の場合には、排他的論理和ゲート608の出力は1とな
るので、判定回路620は、この出力が1で、ANDゲ
ート604、605の出力がともに0であるかを判定
し、そうであるときには、線298を介してスイッチ2
53(図11)に選択不要信号を送出する。
The outputs of the AND gates 604 and 605 both become 0 when one of the requests is invalid or valid and the execution prohibition condition is satisfied, and the other request is invalid. In the present exemplary embodiment, if two requests are valid and the execution prohibition condition is satisfied, A
The outputs of the ND gates 604 and 605 both become 0,
In the present embodiment, the execution prohibition condition is not satisfied for two requests at the same time as described above, and therefore such a case does not occur. Therefore, A
When the outputs of the ND gates 604 and 605 both become 0, it is not necessary to select any request. In this case, the output of the exclusive OR gate 608 is 1, so the determination circuit 620 determines whether this output is 1 and the outputs of the AND gates 604 and 605 are both 0, which is true. Sometimes switch 2 via line 298
The selection unnecessary signal is sent to 53 (FIG. 11).

【0106】図11に戻り、スイッチ253は、パス2
86から与えられる選択信号が指定するメモリアクセス
パイプラインの番号に従って、リクエストレジスタ24
9、250のいずれかのリクエストを選択してパス97
を介してリクエストレジスタ98(図6)に送出する。
このとき、選択されたリクエストがメモリバンクをアク
セスする間このメモリバンクが占有される時間を示すあ
らかじめ定めたバンクビジータイムBTを、この選択さ
れたリクエストに付加する回路(図示せず)を内蔵して
いる。
Returning to FIG. 11, the switch 253 sets the path 2
According to the number of the memory access pipeline designated by the selection signal given from 86, the request register 24
Select either 9, 250 request and pass 97
To the request register 98 (FIG. 6) via the.
At this time, a circuit (not shown) is added to add a predetermined bank busy time BT indicating the time during which the selected request is occupied by the selected memory to the selected memory. ing.

【0107】なお、各物理バンクグループ33、34、
35または36は、プライオリティ回路96から新たな
リクエストが送られる度に、そのリクエスト内のRAロ
ックビット、RAアンロックビットを見て、そのリクエ
ストが要求するメモリバンクの動作モードを制御する回
路(図示せず)を有する。すなわち、そのRAロックビ
ットが1である時には、その回路は、そのメモリバンク
がすでにローアドレス固定モードでは動作していない状
態にあるときには、そのメモリをローアドレス固定モー
ドで動作させ、そのリクエストをそのメモリバンクに対
して実行する。もし、そのメモリバンクがすでにローア
ドレス固定モードでは動作している状態にあるときに
は、そのメモリバンクを引き続きローアドレス固定モー
ドで動作させてそのリクエストをそのメモリバンクに対
して実行する。また、そのリクエストのRAアンロック
ビットが1であるときに、そのメモリバンクをローアド
レス固定モードのままでそのリクエストをそのメモリバ
ンクに対して実行し、その後、そのメモリをローアドレ
ス固定モードでない状態にする。
The physical bank groups 33, 34,
Each time 35 or 36 receives a new request from the priority circuit 96, it looks at the RA lock bit and RA unlock bit in the request, and controls the operation mode of the memory bank requested by the request (FIG. (Not shown). That is, when the RA lock bit is 1, the circuit operates the memory in the row address fixed mode when the memory bank is not already operating in the row address fixed mode, and the request is Execute for memory banks. If the memory bank is already operating in the row address fixing mode, the memory bank is continuously operated in the row address fixing mode to execute the request to the memory bank. When the RA unlock bit of the request is 1, the request is executed to the memory bank in the row address fixed mode, and then the memory is not in the row address fixed mode. To

【0108】(4D)RA管理部 図7を参照するにRA管理部78は、ローアドレス一致
信号RMを生成するためのRA一致制御部113と、ロ
ーアドレス更新禁止信号RIを生成するためのRAロッ
ク制御部114とからなる。
(4D) RA Management Section Referring to FIG. 7, the RA management section 78 includes an RA match control section 113 for generating the row address match signal RM and an RA match control section 113 for generating the row address update inhibit signal RI. The lock control unit 114.

【0109】図8を参照するに、RA一致制御部113
では、RAレジスタ128は、対応する4つのメモリバ
ンクに対して最近にアクセスされたローアドレスを保持
するための、4つのフィールドRA0〜RA3を有す
る。プライオリティ制御部44(図6)のプライオリテ
ィ回路96により新たにリクエストが選択され、そのリ
クエストがリクエストレジスタ98にセットされると、
リクエストレジスタ98から、この選択されたリクエス
トに含まれているローアドレスRA、リクエスト選択成
功信号SS、物理バンクグループ内バンク番号BKa#
とがそれぞれパス100、101、102を介してスイ
ッチ123に供給される。スイッチ123は、RAレジ
スタ128内の、物理バンクグループ内バンク番号BK
a#を有する一つのメモリバンクに対応するフィールド
に、送信されたローアドレスRAを書き込む。
Referring to FIG. 8, the RA coincidence control unit 113.
Then, the RA register 128 has four fields RA0 to RA3 for holding row addresses that have been recently accessed to the corresponding four memory banks. When a new request is selected by the priority circuit 96 of the priority control unit 44 (FIG. 6) and the request is set in the request register 98,
From the request register 98, the row address RA included in the selected request, the request selection success signal SS, and the bank number in the physical bank group BKa #
Are supplied to the switch 123 via the paths 100, 101, and 102, respectively. The switch 123 uses the bank number BK in the physical bank group in the RA register 128.
The transmitted row address RA is written in the field corresponding to one memory bank having a #.

【0110】セレクタ133〜136および比較器14
9〜152は、それぞれ4つのメモリバンクに対応して
設けられている。例えば、セレクタ133は、パス48
を介して供給された後続のリクエストが指定するバンク
グループ内メモリバンク番号BKa#に応答して、RA
レジスタ128内の、この番号BKa#を有するメモリ
バンクを最後にアクセスしたローアドレスを選択して、
比較器149に供給する。比較器149は、パス48を
介して供給される後続のリクエストが指定するローアド
レスとセレクタ133から出力されるローアドレスとを
比較し、両者が一致すれば、その後続のリクエストに対
してローアドレス一致信号RMをパス80を介してリク
エストレジスタ88(図6)に供給する。他のセレクタ
134〜136、比較器150〜152についても同じ
である。
Selectors 133-136 and comparator 14
9 to 152 are provided corresponding to four memory banks, respectively. For example, the selector 133 uses the path 48
RA in response to the memory bank number BKa # in the bank group designated by the subsequent request supplied via
Select the row address in the register 128 that last accessed the memory bank with this number BKa #,
It is supplied to the comparator 149. The comparator 149 compares the row address specified by the subsequent request supplied via the path 48 with the row address output from the selector 133, and if they match, the row address for the subsequent request. The match signal RM is supplied to the request register 88 (FIG. 6) via the path 80. The same applies to the other selectors 134 to 136 and the comparators 150 to 152.

【0111】図9を参照するに、RAロック制御部11
4には、RAロックレジスタ178、196がそれぞれ
メモリアクセスパイプライン3,4に対応して設けられ
ている。RAロックレジスタ178は、それぞれ4つの
メモリバンクに対応する、それぞれ1ビットからなる4
つのRAロックビットRL00〜03を有する。RAロ
ックビットRL00〜03の第1の添字はメモリアクセ
スパイプラインの番号0を示し、第2の添字は対応する
メモリバンクの物理バンクグループ物理バンク内メモリ
バンク番号を示す。各RAロックビット、例えば、RL
00は、対応するメモリアクセスパイプライン0からの
リクエストがメモリバンクBKa#0のローアドレスを
ロックしているか否かを示す値1または0を採る。RA
ロックレジスタ196についても同様である。
Referring to FIG. 9, the RA lock controller 11
4, RA lock registers 178 and 196 are provided corresponding to the memory access pipelines 3 and 4, respectively. The RA lock register 178 has 4 bits each consisting of 1 bit and corresponding to 4 memory banks.
It has one RA lock bit RL00-03. The first subscript of the RA lock bits RL00-03 indicates the memory access pipeline number 0, and the second subscript indicates the physical bank group of the corresponding memory bank and the memory bank number in the physical bank. Each RA lock bit, eg RL
00 takes the value 1 or 0 indicating whether or not the request from the corresponding memory access pipeline 0 locks the row address of the memory bank BKa # 0. RA
The same applies to the lock register 196.

【0112】プライオリティ制御部44(図6)のプラ
イオリティ回路96により新たにリクエストが選択さ
れ、そのリクエストがリクエストレジスタ98(図6)
にセットされると、リクエストレジスタ98からこの選
択されたリクエストに含まれているそのリクエストのロ
ーアドレスロックビットRLがパス103を介して、R
Aロックレジスタ178の各フィールドに対応して設け
られ、それぞれのセット入力に接続されたANDゲート
162、164、166、168およびRAロックレジ
スタ198の各フィールドに対応して設けられ同様のA
NDゲート180、182、184、186に供給され
る。さらに、そのリクエストのローアドレスアンロック
ビットRULもパス103を介して、RAロックレジス
タ178の各フィールドに対応して設けられ、それぞれ
のリセット入力に接続されたANDゲート163、16
5、167、169およびRAロックレジスタ198の
各フィールドに対応して設けられ同様のANDゲート1
81、183、185、187に供給される。
A request is newly selected by the priority circuit 96 of the priority control unit 44 (FIG. 6), and the request is registered in the request register 98 (FIG. 6).
Set to 0, the row address lock bit RL of the request contained in the selected request from the request register 98 is transferred to R via the path 103.
A lock register 178 is provided corresponding to each field, AND gates 162, 164, 166, 168 connected to each set input and RA lock register 198 are provided corresponding to each field, and a similar A
It is supplied to the ND gates 180, 182, 184, 186. Further, the row address unlock bit RUL of the request is also provided corresponding to each field of the RA lock register 178 via the path 103, and AND gates 163 and 16 connected to the respective reset inputs.
5, 167, 169 and a similar AND gate 1 provided corresponding to each field of the RA lock register 198.
81, 183, 185, 187.

【0113】さらに、その選択されたリクエストのメモ
リアクセスパイプライン番号PL#がパス103を介し
てデコーダ154に供給される。デコーダ154は、こ
の番号PL#が0のときには、パス159を介して、メ
モリアクセスパイプライン3に対応するRAロックレジ
スタ178に接続されたANDゲート162〜169に
値1を供給する。同様に、番号PL#が1のときには、
パス160を介して、メモリアクセスパイプライン4に
対応するRAロックレジスタ196に接続されたAND
ゲート180〜187に値1を供給する。
Further, the memory access pipeline number PL # of the selected request is supplied to the decoder 154 via the path 103. When the number PL # is 0, the decoder 154 supplies the value 1 to the AND gates 162 to 169 connected to the RA lock register 178 corresponding to the memory access pipeline 3 via the path 159. Similarly, when the number PL # is 1,
AND connected to the RA lock register 196 corresponding to the memory access pipeline 4 via the path 160
A value of 1 is supplied to gates 180-187.

【0114】さらに、その選択されたリクエストの物理
バンクグループ内バンク番号BKa#がパス102を介
してデコーダ153に供給される。デコーダ153は、
この番号BKa#が0、1、2、3のときには、それぞ
れパス155、156、157、158を介して、RA
ロックレジスタ178内のRAロックビットRL00、
RL01、RL02、RL03に接続された一対のAN
Dゲート162と163、164と165、166と1
67、168と169、およびRAロックレジスタ19
8内のRAロックビットRL10、RL11、RL1
2、RL13に接続された一対のANDゲート180と
181、182と183、184と185、186と1
87に値1を供給する。
Further, the bank number in the physical bank group BKa # of the selected request is supplied to the decoder 153 via the path 102. The decoder 153 is
When the number BKa # is 0, 1, 2, 3 and RA is set via the paths 155, 156, 157 and 158, respectively.
RA lock bit RL00 in lock register 178,
A pair of ANs connected to RL01, RL02, RL03
D gates 162 and 163, 164 and 165, 166 and 1
67, 168 and 169, and RA lock register 19
RA lock bits RL10, RL11, RL1 in 8
2, a pair of AND gates 180 and 181, 182 and 183, 184 and 185, 186 and 1 connected to RL13.
Supply 87 with the value 1.

【0115】こうして、RAロックレジスタ178内の
各RAロックビット、例えば、RL00は、メモリアク
セスパイプライン3からのリクエストがプライオリティ
回路96において選択され、そのリクエストが物理バン
クグループ内メモリバンク番号BKa#が「0」である
メモリバンクにアクセスするリクエストであって、その
リクエストのRAロックビットRLが「1」である場合
にセットされる。また、このRAロックビットRL00
は、メモリアクセスパイプライン3からのリクエストが
プライオリティ回路96において選択され、そのリクエ
ストが物理バンクグループ内メモリバンク番号BKa#
が「0」であるメモリバンクにアクセスするリクエスト
であって、そのリクエストのRAアンロックビットRU
Lが「1」である場合にリセットされる。
Thus, for each RA lock bit in the RA lock register 178, for example, RL00, the request from the memory access pipeline 3 is selected by the priority circuit 96, and the request has the memory bank number BKa # in the physical bank group. It is set when the request is to access the memory bank which is "0" and the RA lock bit RL of the request is "1". Also, this RA lock bit RL00
, The request from the memory access pipeline 3 is selected by the priority circuit 96, and the request is the memory bank number BKa # in the physical bank group.
Is a request to access a memory bank whose "0" is "0", and the RA unlock bit RU of the request
It is reset when L is "1".

【0116】RAロックレジスタ178内の他のRAロ
ックレジスタRL01〜RL03およびRAロックレジ
スタ198内のRAロックビットについても同様であ
る。セレクタ207または208は、メモリアクセスパ
イプライン3により発行され、パス48または49を介
して供給される後続のリクエストがアクセスするメモリ
バンクが、他のメモリアクセスパイプライン4により発
行され、すでに選択された先行するリクエストによりロ
ック済みか否かを検出するためのものである。具体的に
は、メモリアクセスパイプライン4に対応して設けられ
たRAロックレジスタ196から、パス48または49
により与えられた物理バンクグループ内メモリバンク番
号BKa#に対応するロックビットを読み出し、それを
RA変更禁止ビットRIとして、線80または81を介
してリクエストレジスタ88、89(図6)に出力す
る。セレクタ205または206は、メモリアクセスパ
イプライン4により発行され、パス50または51を介
して供給される後続のリクエストがアクセスするメモリ
バンクが、メモリアクセスパイプライン3により発行さ
れ、すでに選択された先行するリクエストによりロック
済みか否かを検出するためのもので、セレクタ207、
208と同様に動作する。
The same applies to the other RA lock registers RL01 to RL03 in RA lock register 178 and the RA lock bit in RA lock register 198. The selector 207 or 208 is issued by the memory access pipeline 3, and the memory bank accessed by the subsequent request supplied via the path 48 or 49 is issued by another memory access pipeline 4 and already selected. It is for detecting whether or not the lock has been completed by the preceding request. Specifically, from the RA lock register 196 provided corresponding to the memory access pipeline 4, the path 48 or 49
The lock bit corresponding to the memory bank number BKa # in the physical bank group given by is read and output as the RA change prohibition bit RI to the request registers 88 and 89 (FIG. 6) via the line 80 or 81. The selector 205 or 206 is issued by the memory access pipeline 4, and the memory bank accessed by the subsequent request supplied via the path 50 or 51 is issued by the memory access pipeline 3 and is already selected. It is for detecting whether or not the request is locked by the request. The selector 207,
It operates similarly to 208.

【0117】(4E)バンクビジー管理部 図10を参照するに、バンクビジー管理部79では、バ
ンクビジーカウンタ214は、対応する4つのメモリバ
ンクに対してバンクビジータイムを保持するための、4
つのフィールドBC0〜BC3を有する。プライオリテ
ィ制御部44(図6)のプライオリティ回路96により
新たにリクエストが選択され、そのリクエストがリクエ
ストレジスタ98にセットされると、リクエストレジス
タ98から、この選択されたリクエストに含まれている
ローアドレスRA、リクエスト選択成功信号SS、物理
バンクグループ内バンク番号BKa#とがそれぞれパス
100、101、102を介してスイッチ209に供給
される。スイッチ209は、バンクビジーカウンタ21
4内の、物理バンクグループ内バンク番号BKa#を有
する一つのメモリバンクに対応するフィールドに、送信
されたバンクビジータイムBTを書き込む。
(4E) Bank Busy Management Section Referring to FIG. 10, in the bank busy management section 79, the bank busy counter 214 holds four bank busy times for holding the bank busy times for the corresponding four memory banks.
It has two fields BC0 to BC3. When a request is newly selected by the priority circuit 96 of the priority control unit 44 (FIG. 6) and the request is set in the request register 98, the row address RA included in the selected request is read from the request register 98. , Request selection success signal SS, and bank number in physical bank group BKa # are supplied to the switch 209 via paths 100, 101, and 102, respectively. The switch 209 is a bank busy counter 21.
The transmitted bank busy time BT is written in the field in 4 corresponding to one memory bank having the bank number BKa # in the physical bank group.

【0118】パス101のリクエスト選択成功信号SS
は、スイッチ209に入力される。パス102のBG内
メモリバンク番号(BKa#)は、スイッチ209の出
力先選択信号として使用される。すなわち、パス102
のBG内メモリバンク番号(BKa#)が「0」であれ
ば、スイッチ209はリクエスト選択成功信号SSをバ
ンクビジーカウンタ214のBC0の「E」で示したイ
ネーブル入力に転送し、以下BG内メモリバンク番号
(BKa#)が「1」、「2」、「3」の場合はそれぞ
れBC1,BC2,BC3のイネーブル入力(E)にリ
クエスト選択成功信号SSを転送する。また、パス10
4のバンクビジータイム(BT)は、バンクビジーカウ
ンタ214のBC0〜BC3の「D」で示した全てのデ
ータ入力に接続されている。
Request selection success signal SS of path 101
Is input to the switch 209. The BG memory bank number (BKa #) of the path 102 is used as an output destination selection signal of the switch 209. That is, the path 102
If the in-BG memory bank number (BKa #) of the switch 209 is “0”, the switch 209 transfers the request selection success signal SS to the enable input indicated by “E” of BC0 of the bank busy counter 214. When the bank number (BKa #) is "1", "2", and "3", the request selection success signal SS is transferred to the enable inputs (E) of BC1, BC2, and BC3, respectively. Also, pass 10
The bank busy time (BT) of 4 is connected to all the data inputs indicated by “D” of BC0 to BC3 of the bank busy counter 214.

【0119】これにより、リクエスト選択成功信号SS
が「1」の場合にのみ、BG内メモリバンク番号(BK
a#)で示されるバンクビジーカウンタ214内のBC
0〜BC3に、パス104のバンクビジータイム(B
T)を格納する。さらに、バンクビジーカウンタ214
では各メモリバンクのバンクビジーカウンタBC0〜B
C3を毎サイクルに1づつ減算する。もしBC0〜BC
3の値が「0」である場合には減算は行わない。この処
理により、各メモリバンクにおけるバンクビジータイム
を記憶することができる。
Thus, the request selection success signal SS
BG memory bank number (BK
BC in the bank busy counter 214 indicated by a #)
0 to BC3, pass 104 bank busy time (B
T) is stored. Furthermore, the bank busy counter 214
Then, the bank busy counters BC0 to B of each memory bank
C3 is decremented by 1 every cycle. If BC0-BC
When the value of 3 is "0", the subtraction is not performed. By this processing, the bank busy time in each memory bank can be stored.

【0120】バンクビジーカウンタ214に記憶された
バンクビジータイムは、パス215〜218を介して、
ORゲート(OR0〜OR3)219〜222に送られ
る。ORゲート(OR0〜OR3)219〜222で
は、バンクビジーカウンタ214内のそれぞれBC0〜
BC3の全ビットをOR演算(論理和)し、そのOR結
果をパス223〜226を介してセレクタ227〜23
0に送る。ORゲート(OR0〜OR3)219〜22
2においてBC0〜BC3の全ビットをORすることに
よって、BC0〜BC3の値が「0」である場合にのみ
パス223〜226に「0」を出力し、もしBC0〜B
C3の値が「0」でない場合にはパス223〜226に
「1」を出力する。これにより、パス223〜226を
介してバンクビジー信号をセレクタ227〜230に送
る。
The bank busy time stored in the bank busy counter 214 is passed through the paths 215 to 218.
It is sent to the OR gates (OR0 to OR3) 219 to 222. The OR gates (OR0 to OR3) 219 to 222 respectively include BC0 to BC0 in the bank busy counter 214.
All the bits of BC3 are ORed (logical sum), and the OR result is passed through paths 223 to 226 to selectors 227 to 23.
Send to 0. OR gates (OR0 to OR3) 219 to 22
By ORing all the bits of BC0 to BC3 in 2, the "0" is output to the paths 223 to 226 only when the value of BC0 to BC3 is "0".
When the value of C3 is not "0", "1" is output to the paths 223-226. As a result, the bank busy signal is sent to the selectors 227 to 230 via the paths 223 to 226.

【0121】セレクタ227〜230では、それぞれパ
ス48〜51を介して後続のリクエストのBG内メモリ
バンク番号(BKa#)のみを受け取り、セレクト信号
とし、これらBG内メモリバンク番号(BKa#)に対
応したバンクビジー信号を選択する。例えば、セレクタ
227のセレクト信号であるパス48の示すBG内メモ
リバンク番号(BKa#)が「0」であれば、セレクタ
227は、パス223を介して得られるバンクビジーカ
ウンタ214のBC0をORゲート219でOR演算し
て得られるバンクビジー信号を選択する。以下同様に、
セレクタ227は、パス48を介して得られるBG内メ
モリバンク番号(BKa#)が「1」,「2」,「3」
の場合、それぞれBC1,BC2,BC3をOR演算し
て得られたバンクビジー信号224,225,226を
選択する。
The selectors 227 to 230 receive only the BG memory bank numbers (BKa #) of the subsequent requests via the paths 48 to 51, and use them as select signals to correspond to these BG memory bank numbers (BKa #). Selected bank busy signal. For example, if the BG memory bank number (BKa #) indicated by the path 48, which is the select signal of the selector 227, is “0”, the selector 227 ORs the BC0 of the bank busy counter 214 obtained via the path 223 with the OR gate. At 219, the bank busy signal obtained by the OR operation is selected. Similarly,
In the selector 227, the memory bank numbers (BKa #) in the BG obtained via the path 48 are “1”, “2”, “3”.
In this case, the bank busy signals 224, 225 and 226 obtained by ORing BC1, BC2 and BC3 are selected.

【0122】セレクタ228〜230についても同様で
あり、パス49〜51を介して得られるBG内メモリバ
ンク番号(BKa#)が「0」〜「3」のとき、それに
対応してBC0〜BC3をOR演算して得られたバンク
ビジー信号223〜226を選択する。選択したバンク
ビジー信号BBはパス84〜87を介して、リクエスト
レジスタ88〜91に送る。
The same applies to the selectors 228 to 230. When the BG memory bank number (BKa #) obtained via the paths 49 to 51 is "0" to "3", BC0 to BC3 are correspondingly changed. The bank busy signals 223 to 226 obtained by the OR operation are selected. The selected bank busy signal BB is sent to the request registers 88 to 91 via the paths 84 to 87.

【0123】本実施形態例によれば、連続して発行され
るリクエストのRAを変更せずに済ませられる場合は、
RAを変更せずにCAのみ変更してアクセスすることが
できるので、同期式DRAMのローアドレス固定モード
を有効に利用することができる。また、RA変更禁止ビ
ットRIを用いた制御を行っているので、RAを過度に
変更することがない。
According to the present embodiment example, when the RA of consecutively issued requests can be left unchanged,
Since it is possible to access by changing only CA without changing RA, the row address fixed mode of the synchronous DRAM can be effectively used. Further, since the control using the RA change prohibition bit RI is performed, RA is not excessively changed.

【0124】なお、本発明は、同期式DRAMに限ら
ず、これと同様に、ローアドレスを一度印加し、複数の
カラムアドレスでもって連続してアクセスすることがで
きる他のメモリ、例えば、キャッシュ付きDRAMにも
適用できる。
Incidentally, the present invention is not limited to the synchronous DRAM, but similarly to this, another memory such as a cache having a row address applied once and continuously accessible by a plurality of column addresses is provided. It can also be applied to DRAM.

【0125】[0125]

【発明の効果】本発明によれば、同期式DRAM用いて
構成した主記憶装置において、同期式DRAMの特徴で
あるローアドレス固定モードを有効に利用することがで
き、高いスループットを持つ主記憶装置が得られる。
According to the present invention, in a main memory device configured by using a synchronous DRAM, the row address fixed mode, which is a characteristic of the synchronous DRAM, can be effectively used, and the main memory device has a high throughput. Is obtained.

【図面の簡単な説明】[Brief description of the drawings]

【図1】本発明によるベクトルプロセッサの要部構成
図。
FIG. 1 is a configuration diagram of a main part of a vector processor according to the present invention.

【図2】図1のベクトルプロセッサの主記憶へのアドレ
ス割り付けを示す図。
FIG. 2 is a diagram showing address allocation to a main memory of the vector processor of FIG.

【図3】図1のベクトルプロセッサに用いるリクエスタ
のブロック図。
3 is a block diagram of a requester used in the vector processor of FIG.

【図4】図1のベクトルプロセッサに用いる記憶制御部
のブロック図。
FIG. 4 is a block diagram of a storage control unit used in the vector processor of FIG.

【図5】図4の記憶制御部に用いるアドレスデコード部
のブロック図。
5 is a block diagram of an address decoding unit used in the storage control unit of FIG.

【図6】図4の記憶制御部に用いるプライオリティ制御
部のブロック図。
FIG. 6 is a block diagram of a priority control unit used in the storage control unit of FIG.

【図7】図6のプライオリティ制御部に用いるRA管理
部のブロック図。
7 is a block diagram of an RA management unit used in the priority control unit of FIG.

【図8】図7のRA管理部に用いるRA一致制御部の回
路図。
8 is a circuit diagram of an RA coincidence control unit used in the RA management unit of FIG. 7.

【図9】図7のRA管理部に用いるRAロック制御部の
回路図。
9 is a circuit diagram of an RA lock control unit used in the RA management unit of FIG. 7.

【図10】図6のプライオリティ制御部に用いるバンク
ビジー管理部の回路図。
10 is a circuit diagram of a bank busy management unit used in the priority control unit of FIG.

【図11】図6のプライオリティ制御部に用いるプライ
オリティ回路の回路図。
11 is a circuit diagram of a priority circuit used in the priority control unit of FIG.

【図12】図11のプライオリティ回路に用いるPL間
プライオリティ管理部の回路図。
12 is a circuit diagram of an inter-PL priority management unit used in the priority circuit of FIG.

【図13】従来の同期式DRAMの、ローアドレス固定
モードを使用した場合と使用しない場合のタイミングチ
ャート図。
FIG. 13 is a timing chart of the conventional synchronous DRAM in the case where the row address fixed mode is used and the case where it is not used.

【図14】従来のインタリーブ方式により割り付けられ
るアドレスを示す図。
FIG. 14 is a diagram showing addresses assigned by a conventional interleaving method.

【図15】従来のブロックインタリーブ方式により割り
付けられるアドレスを示す図。
FIG. 15 is a diagram showing addresses assigned by a conventional block interleaving method.

【図16】図3のRL/RULビット生成部の概略回路
図。
16 is a schematic circuit diagram of the RL / RUL bit generation unit in FIG.

【符号の説明】[Explanation of symbols]

1…演算部(ALU)、2…ベクトルレジスタ部(VR
U)、3,4…メモリアクセスパイプライン(PL0,
PL1)、5…記憶制御部(SCU)、6…主記憶装置
(MS)、7,8…ベクトルデータ制御モジュール(V
DM0,VDM1)、9,10と11,12…ベクトル
データ制御部(VDC0,VDC1とVDC2,VDC
3)。
1 ... Arithmetic unit (ALU), 2 ... Vector register unit (VR
U), 3, 4 ... Memory access pipeline (PL0,
PL1), 5 ... Storage control unit (SCU), 6 ... Main storage unit (MS), 7, 8 ... Vector data control module (V
DM0, VDC1), 9, 10 and 11, 12 ... Vector data control unit (VDC0, VDC1 and VDC2, VDC)
3).

Claims (13)

【特許請求の範囲】[Claims] 【請求項1】各々がN個(Nは2以上の整数)のメモリ
バンクからなるM個(Mは2以上の整数)の物理バンク
グループに分けられた、複数のメモリバンクからなる記
憶装置と、 該記憶装置に対するメモリアクセスリクエストをそれぞ
れ出力する複数のリクエスト回路と、 該記憶装置と該複数のリクエスト回路とに接続され、そ
れぞれ該複数の物理バンクグループの一つに対応して設
けられ、該複数のリクエスト回路から並列に出力される
複数のメモリアクセス要求を調停して、該複数のメモリ
アクセス要求の一つを対応する物理バンクグループに転
送するための複数のプライオリティ制御部とを有し、 各メモリバンクは、ローアドレスとカラムアドレスとで
もってアクセスされる複数の記憶位置を有するメモリに
より構成され、該メモリは、同じローアドレスを有し異
なるカラムアドレスを有する一群の記憶位置を、該ロー
アドレスを一度印加し、該一群の記憶位置のカラムアド
レスを連続して印加することにより連続してアクセス可
能に構成され、 該複数のメモリバンクは、同一の物理バンクグループ内
メモリバンク番号を持つM個のメモリバンクが同一の論
理バンクグループに所属するように、それぞれM個のメ
モリバンクからなるN個の論理バンクグループに区分さ
れ、 それぞれM×L(Lは2以上の整数)個のアドレスから
なる複数のアドレスブロックが、順次異なる論理グルー
プに割り付けられ、各アドレスブロックに属するM×L
個のアドレスは、そのアドレスブロックが割り付けられ
た論理グループに属するM個のメモリバンクの順次異な
るものにインタリーブ方式に従って割り付けられ、その
結果として、該論理グループに属するM個のメモリバン
クの各々にはL個のアドレスが割り付けられ、 各メモリバンクに割り付けられた複数のアドレスの内、
同一のアドレスブロックに属するL個のアドレスは、同
一のローアドレスを有し、異なるカラムアドレスを有す
る複数の記憶位置に割り付けられているプロセッサシス
テム。
1. A storage device having a plurality of memory banks, each of which is divided into M (M is an integer of 2 or more) physical bank groups each of which is made up of N (N is an integer of 2 or more) memory banks. A plurality of request circuits for respectively outputting memory access requests to the storage device; and a plurality of request circuits connected to the storage device and the plurality of request circuits, each provided corresponding to one of the plurality of physical bank groups, And a plurality of priority control units for arbitrating a plurality of memory access requests output in parallel from a plurality of request circuits and transferring one of the plurality of memory access requests to a corresponding physical bank group, Each memory bank is composed of a memory having a plurality of storage locations accessed by a row address and a column address. , A group of memory locations having the same row address and different column addresses can be continuously accessed by applying the row address once and then continuously applying the column addresses of the group of memory locations. , The plurality of memory banks include N logical bank groups each having M memory banks so that M memory banks having the same memory bank number in the physical bank group belong to the same logical bank group. A plurality of address blocks each of which is composed of M × L (L is an integer of 2 or more) addresses are sequentially assigned to different logical groups and belong to each address block.
Addresses are assigned to sequentially different M memory banks belonging to the logical group to which the address block is assigned according to an interleaving method, and as a result, to each of the M memory banks belonging to the logical group. L addresses are allocated, and among the plurality of addresses allocated to each memory bank,
A processor system in which L addresses belonging to the same address block have the same row address and are allocated to a plurality of storage locations having different column addresses.
【請求項2】上記整数Lは、各メモリバンク内の、同一
のローアドレスを有し、異なるカラムアドレスを有する
一群の記憶位置の総数より小さく、 各メモリバンク内の、同一のローアドレスを有し、異な
るカラムアドレスを有する上記一群の記憶位置は、第1
のアドレスブロックに属するアドレスが割り付けられて
いる複数の記憶位置と、少なくとも一つの他のアドレス
ブロックに属するアドレスが割り付けられている複数の
記憶位置とを含む請求項1記載のプロセッサシステム。
2. The integer L is smaller than the total number of a group of storage locations having the same row address and different column addresses in each memory bank, and having the same row address in each memory bank. However, the group of storage locations having different column addresses is
2. The processor system according to claim 1, further comprising: a plurality of storage locations to which addresses belonging to the address block are assigned; and a plurality of storage locations to which addresses belonging to at least one other address block are assigned.
【請求項3】上記整数Lは、各メモリバンク内の、同一
のローアドレスを有し、異なるカラムアドレスを有する
一群の記憶位置の総数の整数分の1に等しい請求項2記
載のプロセッサシステム。
3. The processor system according to claim 2, wherein the integer L is equal to an integer fraction of a total number of a group of memory locations having the same row address and different column addresses in each memory bank.
【請求項4】複数(N×M)個(N、Mは2以上の整
数)のメモリバンクからなる記憶装置と、 それぞれ該記憶装置に対するメモリアクセスリクエスト
を出力する複数のリクエスト回路と、 各メモリバンクは、ローアドレスとカラムアドレスとで
もってアクセスされる複数の記憶位置を有するメモリに
より構成され、該メモリは、同じローアドレスを有し異
なるカラムアドレスを有する一群の記憶位置を、該ロー
アドレスを一度印加し、それらの記憶位置のカラムアド
レスを連続して印加することにより連続してアクセス可
能に構成され、 該複数のメモリバンクは、それぞれM個のメモリバンク
からなるN個の論理バンクグループに区分され、 それぞれM×L(Lは2以上の整数)個のアドレスから
なる複数のアドレスブロックが、順次異なるM個の論理
グループに割り付けられ、各アドレスブロックに属する
N×L個のアドレスが、そのアドレスブロックが割り付
けられた一つの論理グループに属するN個のメモリバン
クの順次異なるものにインタリーブ方式に従って順次割
り付けられ、結果としてその論理グループ内の各メモリ
バンクにはL個のアドレスが割り付けられ、 上記整数Lは、各メモリバンク内の、同一のローアドレ
スを有し、異なるカラムアドレスを有する一群の記憶位
置の数より小さく、 各メモリバンク内の、同一のローアドレスを有し、異な
るカラムアドレスを有する一群の記憶位置は、第1のア
ドレスブロックに属するアドレスが割り付けられている
複数の記憶位置と、少なくとも一つの他のアドレスブロ
ックに属するアドレスが割り付けられている複数の記憶
位置とを含むプロセッサシステム。
4. A storage device comprising a plurality (N × M) of memory banks (N and M are integers of 2 or more), a plurality of request circuits for outputting memory access requests to the storage devices, and memories. A bank is composed of a memory having a plurality of storage locations accessed by a row address and a column address, and the memory stores a group of storage locations having the same row address and different column addresses as the row addresses. It is configured to be continuously accessible by applying once and then continuously applying the column addresses of the storage locations, and the plurality of memory banks are divided into N logical bank groups each including M memory banks. A plurality of address blocks, each of which is divided into M × L (L is an integer of 2 or more) addresses, are sequentially different. N addresses assigned to each of the M logical groups belonging to each address block are sequentially assigned to different ones of the N memory banks belonging to one logical group to which the address block is assigned according to an interleaving method. L addresses are allocated to each memory bank in the logical group as a result, and the integer L has a group of storages having the same row address and different column addresses in each memory bank. A group of storage locations that are smaller than the number of locations and have the same row address and different column addresses in each memory bank are a plurality of storage locations to which addresses belonging to the first address block are allocated. Multiple addresses assigned to at least one other address block Processor system and a storage position.
【請求項5】上記整数Lは、各メモリバンク内の、同一
のローアドレスを有し、異なるカラムアドレスを有する
一群の記憶位置の総数の整数分の1に等しい請求項4記
載のプロセッサシステム。
5. The processor system according to claim 4, wherein the integer L is equal to an integer fraction of the total number of a group of memory locations having the same row address and different column addresses in each memory bank.
【請求項6】複数のメモリバンクからなる記憶装置と、 それぞれ該記憶装置に対する一群のメモリアクセスリク
エストを出力する複数のリクエスト回路と、 該記憶装置と該複数のリクエスト回路とに接続され、該
複数のリクエスト回路から並列に出力される複数のメモ
リアクセス要求を調停した後に、該複数のメモリバンク
に転送するプライオリティ制御回路とを有し、 各メモリバンクは、ローアドレスとカラムアドレスとで
もってアクセスされる複数の記憶位置を有するメモリに
より構成され、該メモリは、同じローアドレスを有し異
なるカラムアドレスを有する一群の記憶位置を、該ロー
アドレスを一度印加し、それらの記憶位置のカラムアド
レスを連続して印加することにより連続してアクセス可
能に構成され、 該プライオリティ制御回路は、 該複数のリクエスト回路から並列に出力された複数のメ
モリアクセスリクエストの内、アクセスを許可すべき少
なくとも一つのメモリアクセスリクエストを選択する回
路と、 それぞれ該複数のメモリバンクの一つに対応して設けら
れた複数のローアドレス記憶装置であって、各ローアド
レス記憶装置は、対応するメモリバンクをアクセスする
ことを該選択回路により最近に許された先行するメモリ
アクセスリクエストがアクセスしたその対応するメモリ
バンク内の記憶位置のローアドレスを記憶するものと、 該複数のリクエスト回路により並列に出力された上記複
数のメモリアクセスリクエストの各々がアクセスするメ
モリバンク内の記憶位置に割り付けられたローアドレス
と、上記複数のローアドレス記憶装置の内、そのメモリ
バンクに対応する一つのローアドレス記憶装置に記憶さ
れたローアドレスとの間の一致を検出する検出回路と、 該複数のメモリアクセスリクエストに対する該検出回路
による検出結果に依存して、該選択回路による選択を制
御する回路とを有するプロセッサシステム。
6. A storage device comprising a plurality of memory banks, a plurality of request circuits which respectively output a group of memory access requests to the storage device, and a plurality of request circuits connected to the storage device and the plurality of request circuits. And a priority control circuit for arbitrating a plurality of memory access requests output in parallel from the request circuit and transferring the requests to the plurality of memory banks, each memory bank being accessed by a row address and a column address. A memory having a plurality of memory locations, the memory applies a row address once to a group of memory locations having the same row address and different column addresses, and continuously applies the column addresses of the memory locations. It is configured to be continuously accessible by applying the The control circuit selects, from among the plurality of memory access requests output in parallel from the plurality of request circuits, at least one memory access request to which access should be permitted, and a circuit for selecting one of the plurality of memory banks. A plurality of row address storage devices provided correspondingly, each row address storage device being accessed by a preceding memory access request recently permitted by the selection circuit to access the corresponding memory bank. One for storing a row address of a storage location in a corresponding memory bank, and a row assigned to a storage location in the memory bank accessed by each of the plurality of memory access requests output in parallel by the plurality of request circuits. Address and its memo among the above-mentioned row address storage devices A detection circuit for detecting a match between row addresses stored in one row address storage device corresponding to a bank, and a detection circuit for selecting a plurality of memory access requests depending on a detection result by the detection circuit. A processor system having a circuit for controlling selection.
【請求項7】上記制御回路は、該検出回路により一致が
検出されなかった一つのメモリアクセスリクエストより
も、該検出回路により一致が検出された他メモリアクセ
スリクエストを優先して選択するように、上記選択回路
を制御する回路を有する請求項6記載のプロセッサシス
テム。
7. The control circuit preferentially selects another memory access request for which a match is detected by the detection circuit, over one memory access request for which a match is not detected by the detection circuit. 7. The processor system according to claim 6, further comprising a circuit that controls the selection circuit.
【請求項8】複数のメモリバンクからなる記憶装置と、 それぞれ該記憶装置に対する一群のメモリアクセスリク
エストを出力する複数のリクエスト回路と、 該記憶装置と該複数のリクエスト回路とに接続され、該
複数のリクエスト回路から並列に出力される複数のメモ
リアクセス要求を調停した後に、該複数のメモリバンク
に転送するプライオリティ制御回路とを有し、 各メモリバンクは、ローアドレスとカラムアドレスとで
もってアクセスされる複数の記憶位置を有するメモリに
より構成され、該メモリは、同じローアドレスを有し異
なるカラムアドレスを有する一群の記憶位置を、該ロー
アドレスを一度印加し、それらの記憶位置のカラムアド
レスを連続して印加することにより連続してアクセス可
能に構成され、 各リクエスト回路は、 一連のメモリアクセス要求を順次出力する回路と、 該複数のメモリバンクの一つ内の一つのローアドレスを
ロックすることを要求するロック要求を出力し、その一
つのメモリバンクがロックされた後にその一つのメモリ
バンクのそのローアドレスをアンロックすることを要求
するアンロック要求を出力するロック/アンロック要求
回路とを有し、 該プライオリティ制御回路は、 該複数のリクエスト回路から並列に出力された複数のメ
モリアクセスリクエストの内、アクセスを許可すべき少
なくとも一つのメモリアクセスリクエストを選択する回
路と、 該複数のリクエスト回路の一つに含まれた上記ロック/
アンロック要求回路から出力されたロック要求に応答し
て、そのロック要求が指定するメモリバンクのそのロッ
ク要求が指定するローアドレスが、そのリクエスト回路
によりロックされたことを示す情報を記憶し、そのロッ
ク/アンロック要求回路からその後に出力されたアンロ
ック要求に応答してそのメモリバンク内のそのローアド
レスがアンロックされたことを示す情報を記憶するロッ
ク情報記憶装置と、 該複数のリクエスト回路により並列に出力された上記複
数のメモリアクセスリクエストの各々が、そのメモリア
クセスリクエストがアクセスするメモリバンクが、その
メモリアクセスリクエストを出力したリクエスト回路以
外の他のリクエスト回路によりロックされているローア
ドレスを有するメモリバンクと一致するという第1の条
件を満たすか否か、および、いずれかのメモリアクセス
リクエストがその第1の条件を満たす場合に、そのメモ
リアクセスリクエストが指定するローアドレスが、当該
他のリクエスト回路によりロックされているローアドレ
スと一致するという第2の条件を満たすか否かを、上記
ロック情報記憶装置に記憶された情報により検出する回
路と、 該複数のメモリアクセスリクエストに対する該検出回路
による検出結果に依存して、該選択回路による選択を制
御する回路とを有するプロセッサシステム。
8. A storage device comprising a plurality of memory banks, a plurality of request circuits which respectively output a group of memory access requests to the storage device, and a plurality of request circuits connected to the storage device and the plurality of request circuits. And a priority control circuit for arbitrating a plurality of memory access requests output in parallel from the request circuit and transferring the requests to the plurality of memory banks, each memory bank being accessed by a row address and a column address. A memory having a plurality of memory locations, the memory applies a row address once to a group of memory locations having the same row address and different column addresses, and continuously applies the column addresses of the memory locations. It is configured so that it can be accessed continuously by applying each request circuit. A circuit for sequentially outputting a series of memory access requests, and a lock request for requesting to lock one row address in one of the plurality of memory banks, and after the one memory bank is locked And a lock / unlock request circuit that outputs an unlock request for unlocking the row address of the one memory bank, the priority control circuit being output in parallel from the plurality of request circuits. A circuit for selecting at least one memory access request to be permitted access among the plurality of memory access requests, and the lock / lock included in one of the plurality of request circuits.
In response to the lock request output from the unlock request circuit, information indicating that the row address specified by the lock request in the memory bank specified by the lock request is stored by the request circuit is stored. A lock information storage device that stores information indicating that the row address in the memory bank has been unlocked in response to an unlock request that is subsequently output from the lock / unlock request circuit, and the plurality of request circuits. Each of the plurality of memory access requests output in parallel by means of a row address locked by a request circuit other than the request circuit that outputs the memory access request is assigned to a memory bank accessed by the memory access request. First to match the memory bank that has Whether or not the condition is satisfied, and when one of the memory access requests satisfies the first condition, the row address specified by the memory access request becomes the row address locked by the other request circuit. A circuit for detecting whether or not the second condition of coincidence is detected by the information stored in the lock information storage device, and the selection depending on the detection result of the detection circuit for the plurality of memory access requests. And a circuit for controlling selection by the circuit.
【請求項9】上記制御回路は、いずれか一つのリクエス
ト回路より出力され、該第1の条件を満たし、該第2の
条件を満たさないと該検出回路により検出された一つの
メモリアクセスリクエストよりも、もう一つのリクエス
ト回路より出力され、該第1、第2の条件の少なくとも
一方を満たさないと該検出回路により検出されたもう一
つのメモリアクセスリクエストを優先して選択するよう
に、上記選択回路を制御する回路を有する請求項8記載
のプロセッサシステム。
9. The control circuit outputs one memory access request output from any one of the request circuits, and if the first condition is satisfied and the second condition is not satisfied, one memory access request is detected. Also selects the memory access request output from the other request circuit and preferentially selecting the other memory access request detected by the detection circuit unless at least one of the first and second conditions is satisfied. 9. The processor system according to claim 8, further comprising a circuit that controls the circuit.
【請求項10】上記制御回路は、いずれか一つのリクエ
スト回路より出力され、該第1の条件を満たし、該第2
の条件を満たさないと該検出回路により検出された一つ
のメモリアクセスリクエストよりも、もう一つのリクエ
スト回路より出力され、該第1、第2の条件の少なくと
も一方を満たさないと該検出回路により検出されたもう
一つのメモリアクセスリクエストを優先して選択すると
いう動作を、その、もう一つのリクエスト回路により出
力され、該第1、第2の条件の少なくとも一方を満たさ
ないと該検出回路により検出された所定数のメモリアク
セスリクエストが選択されるまで繰り返し、その後に、
該一つのメモリアクセスリクエストを選択するように上
記選択回路を制御する回路を有する請求項9記載のプロ
セッサシステム。
10. The control circuit outputs from any one of the request circuits, satisfies the first condition, and outputs the second signal.
If one of the memory access requests detected by the detection circuit is not satisfied, the other output circuit outputs the request, and if at least one of the first and second conditions is not detected, the detection circuit detects the request. The operation of preferentially selecting the other memory access request is output by the other request circuit, and is detected by the detection circuit unless at least one of the first and second conditions is satisfied. Repeat until a predetermined number of memory access requests are selected, then
10. The processor system according to claim 9, further comprising a circuit that controls the selection circuit so as to select the one memory access request.
【請求項11】各リクエスト回路内の上記ロック/アン
ロック要求回路は、そのリクエスト回路が出力する一つ
の先行するメモリアクセスリクエストに付加してロック
要求を出力し、そのリクエスト回路が出力する他の後続
のメモリアクセスリクエストに付加してアンロック要求
を出力する回路を有し、そのロック要求は、その先行す
るメモリアクセスリクエストが指定するメモリバンク内
のその先行するメモリアクセスリクエストが指定するロ
ーアドレスのロックを要求し、そのアンロック要求は、
その後続のメモリアクセスリクエストが指定するメモリ
バンク内のその後続のメモリアクセスリクエストが指定
するローアドレスのアンロックを要求する請求項8記載
のプロセッサシステム。
11. The lock / unlock request circuit in each request circuit outputs a lock request in addition to one preceding memory access request output from the request circuit, and outputs another lock request from the request circuit. It has a circuit that outputs an unlock request in addition to a subsequent memory access request, and the lock request is of a row address specified by the preceding memory access request in the memory bank specified by the preceding memory access request. The lock request and the unlock request are
9. The processor system according to claim 8, wherein unlocking of a row address specified by the subsequent memory access request in the memory bank specified by the subsequent memory access request is requested.
【請求項12】各リクエスト回路内の上記一連のメモリ
アクセス要求を順次出力する回路は、一連のアドレスを
アクセスすることを要求する命令が指定するアクセス情
報に応答して、一連のアドレスを有する一連の記憶位置
をアクセスするための一連のメモリアクセスリクエスト
を順次出力する回路を有し、 各リクエスト回路内の上記ロック/アンロック要求回路
は、上記一連のメモリアクセスリクエストの内、同一の
メモリバンクをアクセスする複数のメモリアクセスリク
エストの内の少なくとも最初のメモリアクセスリクエス
トに付加してロック要求を出力し、同一のメモリバンク
をアクセスする該複数のメモリアクセスリクエストの内
の最後のメモリアクセスリクエストに付加してアンロッ
ク要求を出力するように、上記命令が指定する上記情報
に基づいて、上記一連のメモリアクセスリクエストの各
々にロック要求とアンロック要求を付加するか否かを決
定する回路を有する請求項10記載のプロセッサシステ
ム。
12. A circuit for sequentially outputting the series of memory access requests in each request circuit includes a series having a series of addresses in response to access information designated by an instruction requesting access to the series of addresses. Has a circuit for sequentially outputting a series of memory access requests for accessing the memory locations, and the lock / unlock request circuit in each request circuit selects the same memory bank from the series of memory access requests. A lock request is added to at least the first memory access request of the plurality of memory access requests to be accessed, and a lock request is added to the last memory access request of the plurality of memory access requests to access the same memory bank. Command to output an unlock request by 11. The processor system according to claim 10, further comprising a circuit that determines whether to add a lock request and an unlock request to each of the series of memory access requests based on the information.
【請求項13】上記一連のアドレスは、一定のアドレス
間隔で隔たったアドレスである請求項12記載のプロセ
ッサシステム。
13. The processor system according to claim 12, wherein the series of addresses are addresses separated by a constant address interval.
JP12893896A 1995-04-27 1996-04-25 Processor system having address allocation and address lock function suitable for memory comprising synchronous DRAM Expired - Fee Related JP3654608B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP12893896A JP3654608B2 (en) 1995-04-27 1996-04-25 Processor system having address allocation and address lock function suitable for memory comprising synchronous DRAM

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP12712995 1995-04-27
JP7-127129 1995-04-27
JP12893896A JP3654608B2 (en) 1995-04-27 1996-04-25 Processor system having address allocation and address lock function suitable for memory comprising synchronous DRAM

Publications (2)

Publication Number Publication Date
JPH0916469A true JPH0916469A (en) 1997-01-17
JP3654608B2 JP3654608B2 (en) 2005-06-02

Family

ID=26463146

Family Applications (1)

Application Number Title Priority Date Filing Date
JP12893896A Expired - Fee Related JP3654608B2 (en) 1995-04-27 1996-04-25 Processor system having address allocation and address lock function suitable for memory comprising synchronous DRAM

Country Status (1)

Country Link
JP (1) JP3654608B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100786418B1 (en) * 2000-09-20 2007-12-17 애질런트 테크놀로지스, 인크. Error catch ram for memory tester has sdram memory sets configurable for size and speed
JP6237945B1 (en) * 2017-02-20 2017-11-29 日本電気株式会社 Memory control device

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100786418B1 (en) * 2000-09-20 2007-12-17 애질런트 테크놀로지스, 인크. Error catch ram for memory tester has sdram memory sets configurable for size and speed
JP6237945B1 (en) * 2017-02-20 2017-11-29 日本電気株式会社 Memory control device
US11169937B2 (en) 2017-02-20 2021-11-09 Nec Corportation Memory control device

Also Published As

Publication number Publication date
JP3654608B2 (en) 2005-06-02

Similar Documents

Publication Publication Date Title
US5809539A (en) Processor system having address allocation and address lock capability adapted for a memory comprised of synchronous DRAMs
JP3323212B2 (en) Data prefetching method and apparatus
EP2223217B1 (en) System, apparatus, and method for modifying the order of memory accesses
US5826079A (en) Method for improving the execution efficiency of frequently communicating processes utilizing affinity process scheduling by identifying and assigning the frequently communicating processes to the same processor
US7360035B2 (en) Atomic read/write support in a multi-module memory configuration
US6490655B1 (en) Data processing apparatus and method for cache line replacement responsive to the operational state of memory
US5388247A (en) History buffer control to reduce unnecessary allocations in a memory stream buffer
CA1324837C (en) Synchronizing and processing of memory access operations in multiprocessor systems
US5535361A (en) Cache block replacement scheme based on directory control bit set/reset and hit/miss basis in a multiheading multiprocessor environment
JP2761506B2 (en) Main memory controller
US6820142B2 (en) Token based DMA
JP2002530731A (en) Method and apparatus for detecting data collision on a data bus during abnormal memory access or performing memory access at different times
JP2002510079A (en) Method and apparatus for forcing ordered execution of reads and writes between memory interfaces
EP0966741A1 (en) Dram with integral sram and systems and methods using the same
US4949247A (en) System for transferring multiple vector data elements to and from vector memory in a single operation
US6301642B1 (en) Shared memory bus arbitration system to improve access speed when accessing the same address set
US5732236A (en) Circuit and method for controlling access to paged DRAM banks with request prioritization and improved precharge schedule
US20020108021A1 (en) High performance cache and method for operating same
JP5382113B2 (en) Storage control device and control method thereof
JP3654608B2 (en) Processor system having address allocation and address lock function suitable for memory comprising synchronous DRAM
US7003637B2 (en) Disk array device with utilization of a dual-bus architecture dependent on data length of cache access requests
JPH06195313A (en) Computer system, and integrated circuit and request selecting circuit being suitable therefor
US11816025B2 (en) Hardware acceleration
CN114819124A (en) Memory access performance improving method of deep neural network inference processor
KR100334298B1 (en) Memory device

Legal Events

Date Code Title Description
A977 Report on retrieval

Effective date: 20040709

Free format text: JAPANESE INTERMEDIATE CODE: A971007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041213

A521 Written amendment

Effective date: 20050214

Free format text: JAPANESE INTERMEDIATE CODE: A523

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: 20050228

A61 First payment of annual fees (during grant procedure)

Effective date: 20050228

Free format text: JAPANESE INTERMEDIATE CODE: A61

R150 Certificate of patent (=grant) or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Year of fee payment: 4

Free format text: PAYMENT UNTIL: 20090311

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

Free format text: PAYMENT UNTIL: 20090311

Year of fee payment: 4

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

Year of fee payment: 5

Free format text: PAYMENT UNTIL: 20100311

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

Year of fee payment: 6

Free format text: PAYMENT UNTIL: 20110311

LAPS Cancellation because of no payment of annual fees