JPH11110289A - Buffer control method - Google Patents

Buffer control method

Info

Publication number
JPH11110289A
JPH11110289A JP28308697A JP28308697A JPH11110289A JP H11110289 A JPH11110289 A JP H11110289A JP 28308697 A JP28308697 A JP 28308697A JP 28308697 A JP28308697 A JP 28308697A JP H11110289 A JPH11110289 A JP H11110289A
Authority
JP
Japan
Prior art keywords
data
register
stored
buffer
bank
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.)
Pending
Application number
JP28308697A
Other languages
Japanese (ja)
Inventor
Takeshi Sone
猛 曽根
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 JP28308697A priority Critical patent/JPH11110289A/en
Publication of JPH11110289A publication Critical patent/JPH11110289A/en
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)

Abstract

PROBLEM TO BE SOLVED: To store data in a buffer without suppressing data transfer even when a plurality of data are transferred to the same bank of the buffer in the same cycle. SOLUTION: A plurality of data transferred from a storage device are stored in a register 1C by way of a selector 1B, a circuit 1G inputs a valid bit and an identifier of the data of the register 1C, detects a bank competition of the data and selects one datum out of data causing the bank competition, a circuit 1I inputs an output of the circuit 1G and selects data to be stored when the plurality of data stored in the register 1C can simultaneously be stored in a buffer 1Q, a selector 1N selects data to be transferred to the buffer 1Q from the register 1C in accordance with an output of the circuit 1I, the circuit 1L inputs an output of the circuit 1I and an empty bit of each register 1C and generates a control signal for a selector 1B for selecting transfer data to be stored in the register 1C, and a selector 1P stores data outputted from the selector 1N in each bank of the buffer 1Q.

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【発明の属する技術分野】本発明は、計算機システムに
おける記憶装置に対するアクセスの制御方式に係り、特
に、記憶装置からランダムに読み出されたデータを並べ
替えるためのバッファの効率を改善するためのバッファ
制御方式に関する。
The present invention relates to a method for controlling access to a storage device in a computer system, and more particularly to a buffer for improving the efficiency of a buffer for rearranging data randomly read from the storage device. Related to the control method.

【0002】[0002]

【従来の技術】記憶装置に対して連続的にデータ読み出
し要求を発行することにより、記憶装置に対するアクセ
ス・レイテンシの隠蔽を実現している計算機システムで
は、記憶装置に対して発行するデータ読み出し要求に識
別子を付加し、その識別子を記憶装置からの読み出しデ
ータにも付加することにより、各データ読み出し要求に
対応する記憶装置からの転送データを識別する識別子付
加方式による記憶装置に対するアクセス方式が用いられ
ている(特開昭60−136849号公報)。現在のス
ーパーコンピュータの主記憶はスループットを確保する
ために、独立に動作可能な記憶装置を並列に並べたマル
チ・バンク方式を採用しているものが一般的であるた
め、読み出し要求に対応する主記憶からの転送データ
は、主記憶に対して読み出し要求を発行した順序で転送
されてくるとは限らない。このため、主記憶に対してデ
ータ読み出し要求を発行したシステム中の装置は、主記
憶からランダムな順番で転送されてくるデータを読み出
し要求を発行した順番で使用できるように、データを一
旦バッファに格納することによりデータの並び替えを行
わなければならない。
2. Description of the Related Art In a computer system which realizes concealment of access latency to a storage device by continuously issuing a data read request to the storage device, a data read request issued to the storage device can be performed. By adding an identifier to the read data from the storage device and by adding the identifier to the data read from the storage device, an access method to the storage device using an identifier addition method for identifying transfer data from the storage device corresponding to each data read request is used. (Japanese Patent Application Laid-Open No. 60-136849). The main memory of current supercomputers generally adopts a multi-bank system in which independently operable storage devices are arranged in parallel in order to secure throughput, and thus the main memory corresponding to a read request is used. Data transferred from the storage is not always transferred in the order in which the read requests were issued to the main storage. Therefore, the device in the system that has issued the data read request to the main memory temporarily stores the data in the buffer so that the data transferred from the main memory in a random order can be used in the order in which the read request was issued. The data must be rearranged by storing.

【0003】上記のような記憶装置に対するアクセス方
式において、システム中の装置からのデータ読み出し要
求に対する記憶装置からの転送データが1サイクル中に
複数転送され、かつ、それらのデータは識別子に関して
はランダムである場合に、後続の記憶装置からのデータ
転送を抑止することなくそれらのデータをバッファに格
納することができるように、従来は、データ読み出し要
求の各識別子に対応してレジスタを1つずつ割り当て、
これらのレジスタによりバッファを構成することで、ラ
ンダムな順番で転送されてくる記憶装置からのデータを
読み出し要求を発行した順番で使用できるようにデータ
の並び替えを行っていた。このとき、データ読み出し要
求に対して記憶装置から転送されてくるデータは、付加
された識別子をデコードすることにより、格納されるレ
ジスタが決定される。
In the above-described access method to a storage device, a plurality of transfer data from the storage device in response to a data read request from a device in the system is transferred in one cycle, and the data is random with respect to the identifier. Conventionally, one register is assigned to each identifier of a data read request so that those data can be stored in a buffer without inhibiting data transfer from a subsequent storage device. ,
By configuring a buffer with these registers, the data is rearranged so that data transferred from the storage device in a random order can be used in the order in which the read requests were issued. At this time, for the data transferred from the storage device in response to the data read request, the register to be stored is determined by decoding the added identifier.

【0004】[0004]

【発明が解決しようとする課題】近年、計算機システム
の高速化に伴い、主記憶に対するアクセス・レイテンシ
が増大している。そのような状況において、識別子付加
方式による記憶装置に対するアクセス方式では、記憶装
置へのアクセス・レイテンシを隠蔽するために、さらに
多くの読み出し要求を記憶装置に対して連続的に発行し
なければならない。すなわち、より多くの識別子を用意
しなければならず、さらに読み出しデータを並び替える
ための大容量のバッファを確保しなければならない。し
かしながら、先述したバッファ制御方式では、多数のレ
ジスタによりバッファを構成しているため、非常に多く
のゲート数を消費することとなり、実装上、大容量のバ
ッファを構成することが困難であるという問題点があっ
た。
In recent years, with the speeding up of computer systems, the access latency to main storage has increased. In such a situation, in the access method to the storage device by the identifier addition method, more read requests must be continuously issued to the storage device in order to conceal access latency to the storage device. That is, more identifiers must be prepared, and a large-capacity buffer for rearranging read data must be secured. However, in the buffer control method described above, since the buffer is configured by a large number of registers, a very large number of gates are consumed, and it is difficult to configure a large-capacity buffer in implementation. There was a point.

【0005】そこで、バッファの構成をレジスタ・ファ
イル・アレイやRAM等を用いてマルチ・バンク方式で構成
することにより、ゲート数を削減することが考えられる
が、その場合には以下に示すような問題が生じる。レジ
スタ・ファイル・アレイやRAM等を用いたマルチ・バンク
方式でバッファを構成した場合、一般には識別子の内容
をデータを格納するバンクの番号とそのバンク中でのア
ドレスに対応させることにより、記憶装置からの転送デ
ータの格納場所を決定する。このとき、異なるバンクに
格納される複数のデータが同一サイクルで記憶装置から
転送されてきた場合、それらのデータは付加された識別
子によって決定されるバンクへ格納されるが、同じバン
クに格納される複数のデータが同一サイクルで転送され
てきた場合、1サイクル中に1つのバンクに格納できるデ
ータの数には制限があるため、バンク競合を生じたデー
タは一時的にデータを格納するレジスタを用意して、そ
ちらへ格納する。そして、そのデータが格納されるバン
クと同一のバンクに格納されるデータが他に存在しなく
なってから、該当するバンクへデータを格納するように
しなければならない。このとき、データを一時的に格納
するレジスタの数が不足すると、バンク競合が頻繁に生
じた場合に、後続の記憶装置からの転送データが異なる
バンクに格納されるデータであっても、記憶装置からの
データの転送を抑止させなければならなくなり、記憶装
置からのデータ読み出し性能の低下を招く恐れがある。
Therefore, it is conceivable to reduce the number of gates by configuring the buffer in a multi-bank system using a register file array, a RAM, and the like. Problems arise. When a buffer is configured in a multi-bank system using a register file array, RAM, or the like, generally, the contents of an identifier correspond to the number of a bank for storing data and an address in the bank, so that a storage device can be used. Determine the storage location of the data transferred from. At this time, when a plurality of data stored in different banks are transferred from the storage device in the same cycle, those data are stored in the bank determined by the added identifier, but are stored in the same bank. When multiple data are transferred in the same cycle, the number of data that can be stored in one bank during one cycle is limited. And store it there. Then, after there is no other data stored in the same bank as the bank in which the data is stored, the data must be stored in the corresponding bank. At this time, if the number of registers for temporarily storing data is insufficient, when bank contention frequently occurs, even if data transferred from a subsequent storage device is data stored in a different bank, storage Transfer of data from the storage device must be suppressed, and the performance of reading data from the storage device may be degraded.

【0006】したがって、本発明の目的は、上記の問題
を解決することにより、データ並び替えバッファの同一
バンクに格納される複数のデータが記憶装置から同一サ
イクルで転送されてきても、記憶装置からのデータ転送
を抑止させることなく、それらのデータをバッファに格
納することができ、記憶装置からの読み出しデータを並
べ替えるためのバッファをレジスタ・ファイル・アレイや
RAM等を用いてマルチ・バンク方式により構成する効率的
なバッファ制御方式を提案することにある。
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to solve the above-described problem, so that even if a plurality of data stored in the same bank of the data rearrangement buffer is transferred from the storage device in the same cycle, the storage device can store the data in the same cycle. Data can be stored in a buffer without suppressing data transfer, and a buffer for rearranging read data from the storage device can be stored in a register file array or the like.
An object of the present invention is to propose an efficient buffer control method configured by a multi-bank method using a RAM or the like.

【0007】さらに、上記の手法においては、バンク競
合を起こしたデータが並び替え用のバッファに格納され
るまでのサイクル数を保証するために、バンク競合に対
するアービトレーション回路やレジスタに格納されてい
る複数のデータが同時にバッファへ格納可能な場合に対
するアービトレーション回路において、ラウンド・ロビ
ン方式等のアービトレーションを採用した場合、記憶装
置からの転送データを一時的に保持するレジスタの数に
より状態数が決まるため、レジスタの数が多くなった場
合に、状態数が増加して制御が煩雑になる。したがっ
て、本発明の第2の目的は、バンク競合を起こしたデー
タを並び替えるためのバッファに格納されるまでのサイ
クル数を単純なアービトレーション方式により保証し、
かつ、記憶装置から転送されてきたデータが同一バンク
へ格納されるデータに関しては、記憶装置から転送され
てきた順番でデータをバッファに格納することができる
バッファ制御方式を提案することにある。
Furthermore, in the above-mentioned method, in order to guarantee the number of cycles until data in which a bank conflict has occurred is stored in a rearranging buffer, a plurality of data stored in an arbitration circuit or a register for bank conflict are stored. When the arbitration circuit for the case where data of the same type can be stored in the buffer at the same time employs an arbitration method such as a round robin method, the number of states is determined by the number of registers for temporarily storing transfer data from the storage device. When the number increases, the number of states increases and control becomes complicated. Therefore, a second object of the present invention is to guarantee the number of cycles until data stored in a bank conflict is stored in a buffer for sorting by a simple arbitration method,
Another object of the present invention is to propose a buffer control method in which data transferred from a storage device is stored in the same bank in the order in which the data is transferred from the storage device.

【0008】[0008]

【課題を解決するための手段】上記目的を達成するた
め、本発明は、記憶装置から読み出されたデータを並び
替えてバッファに格納するためのバッファ制御方式であ
り、記憶装置から読み出され転送された複数のデータを
一時的に保持するための複数のレジスタと、該レジスタ
に格納する転送データを制御信号に従って選択し格納す
るための第1のセレクタと、前記各レジスタに格納され
たデータのValidビット及び識別子を入力し、データの
バンク競合を検出しバンク競合を起こしているデータか
ら1つのデータを選択するバンク競合検出・アービトレ
ーション回路と、該回路の出力を入力し、レジスタに格
納されている複数のデータが同時にバッファへ格納可能
な場合に格納するデータを選択する格納要求アービトレ
ーション回路と、該回路の出力に従ってレジスタからバ
ッファに転送するデータを選択する第2のセレクタと、
該回路の出力と前記各レジスタのEmptyビットを入力
し、前記レジスタに格納する転送データを選択する制御
信号を作成し、前記第1のセレクタに出力する入力デー
タ格納レジスタ選択回路と、前記第2のセレクタから出
力されたデータをバッファの各バンクに格納するための
第3のセレクタを備え、記憶装置から同一サイクルにラ
ンダムに読み出される複数のデータがバンク競合を起こ
しても、記憶装置からの読み出しデータの転送を抑止す
ることなく読み出しデータをバッファに格納し、記憶装
置からの読み出しデータを並べ替えるためのバッファを
レジスタ・ファイル・アレイやRAM等を用いてマルチ・バン
ク方式により構成するようにしている。
According to the present invention, there is provided a buffer control method for rearranging data read from a storage device and storing the data in a buffer. A plurality of registers for temporarily storing a plurality of transferred data, a first selector for selecting and storing transfer data to be stored in the registers in accordance with a control signal, and data stored in each of the registers A valid bit and an identifier, and a bank conflict detection and arbitration circuit for detecting bank conflict of data and selecting one data from the data causing the bank conflict, and inputting the output of the circuit and storing the data in a register. A storage request arbitration circuit for selecting data to be stored when a plurality of data items can be stored in the buffer at the same time; A second selector for selecting data to be transferred to the buffer from the register in accordance with the output,
An input data storage register selection circuit for receiving the output of the circuit and the Empty bit of each register, generating a control signal for selecting transfer data to be stored in the register, and outputting the control signal to the first selector; A third selector for storing data output from the selector of each buffer in each bank of the buffer. Even if a plurality of data read at random from the storage device in the same cycle causes a bank conflict, the data is read from the storage device. Read data is stored in a buffer without suppressing data transfer, and a buffer for rearranging read data from a storage device is configured by a multi-bank method using a register file array or RAM. I have.

【0009】さらに、記憶装置からのデータ転送サイク
ルの毎サイクル更新されるカウンタを備え、前記各レジ
スタには、該レジスタに転送されたデータの転送時のカ
ウンタのカウンタ値を格納し、前記バンク競合検出・ア
ービトレーション回路は、さらに前記カウンタ値を入力
して、データのバンク競合を検出しバンク競合を起こし
ているデータから1つのデータを選択し、該データ選択
出力に前記カウンタ値を含め、前記格納要求アービトレ
ーション回路は、該カウンタ値を含むデータ選択出力を
入力し、レジスタに格納されている複数のデータが同時
にバッファへ格納可能な場合に格納するデータを選択
し、記憶装置から転送されてきたデータを同一バンクへ
格納されるデータに関しては、記憶装置から転送されて
きた順序で各バンクに格納し、記憶装置から転送されて
きたデータがバッファに格納されるまでにレジスタに保
持されている最大サイクル数を保証するようにしてい
る。
Further, a counter is provided which is updated every cycle of a data transfer cycle from the storage device. Each of the registers stores a counter value of the counter at the time of transfer of the data transferred to the register, and the bank conflict is generated. The detection and arbitration circuit further receives the counter value, detects a bank conflict of data, selects one data from the data in which the bank conflict occurs, includes the counter value in the data selection output, and stores the stored data. The request arbitration circuit inputs a data selection output including the counter value, selects data to be stored when a plurality of data stored in the register can be simultaneously stored in the buffer, and outputs data transferred from the storage device. Are stored in the same bank in the order in which they are transferred from the storage device. Storing, data transferred from the storage device is to ensure the maximum number of cycles stored in the register until is stored in the buffer.

【0010】さらに、記憶装置から読み出された複数の
データ転送パスを前記レジスタに接続すると共に、直
接、前記バンク競合検出・アービトレーション回路およ
び前記第2のセレクタに接続し、前記バンク競合検出・
アービトレーション回路および格納要求アービトレーシ
ョン回路において記憶装置から転送されてきたデータが
バンク競合を生じていないことを検出した場合は、前記
レジスタをバイパスして該バンク競合を生じていないデ
ータを前記レジスタをバイパスしてバッファに格納する
ようにしている。
Further, a plurality of data transfer paths read from the storage device are connected to the register, and are directly connected to the bank conflict detection / arbitration circuit and the second selector.
When the arbitration circuit and the storage request arbitration circuit detect that the data transferred from the storage device does not cause a bank conflict, the data bypasses the register and bypasses the register. And store it in a buffer.

【0011】[0011]

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

<実施形態1>以下、本発明によるバッファ制御方式の
実施形態を図面を用いて詳細に説明する。図1は本発明
を適用したバッファの第1の実施形態を示すブロック図
である。
Embodiment 1 Hereinafter, an embodiment of a buffer control system according to the present invention will be described in detail with reference to the drawings. FIG. 1 is a block diagram showing a first embodiment of a buffer to which the present invention is applied.

【0012】図1において、1Aは記憶装置からのデータ
を転送するパス、1Bは記憶装置から転送されてきたデー
タをレジスタへ格納するためのセレクタ、1Cは記憶装置
から転送されてきたデータを一時的に格納するレジス
タ、1Dはレジスタ1Cに格納されているデータのValidビ
ットおよび識別子をバンク競合検出&アービトレーショ
ン回路へ転送するパス、1EはEmptyビット(Validビット
の反転)を入力データの格納レジスタ選択回路へ転送す
るパス、1Fはレジスタに格納されているデータと識別子
を転送するパス、1Gはレジスタに格納されているデータ
のバンク競合検出及びアービトレーション回路、1Hはレ
ジスタに格納されているデータのバッファに対する格納
要求を発行するパス、1Iはバッファへの格納要求を発行
しているデータに対するアービトレーション回路、1Jは
バッファに格納するデータを選択するための制御信号、
1Kはデータを出力することにより次のサイクルで空きに
なるレジスタに関する情報を転送するパス、1Lは記憶装
置から転送されてきたデータを格納するレジスタを選択
する回路、1Mは記憶装置から転送されてきたデータをレ
ジスタに格納するための制御信号、1Nはレジスタに格納
されているデータからバッファへ転送するデータを選択
するセレクタ、1Oはレジスタに格納されていたデータを
バッファへ転送するためのパス、1Pはレジスタから転送
されてきたデータを該当するバンクに格納するためのセ
レクタ、1Qはマルチ・バンク方式によりバッファを構成
しているレジスタ・ファイル・アレイまたはRAM等であ
る。
In FIG. 1, 1A is a path for transferring data from a storage device, 1B is a selector for storing data transferred from the storage device in a register, and 1C is a selector for temporarily storing data transferred from the storage device. 1D is a path for transferring the Valid bit and identifier of the data stored in the register 1C to the bank conflict detection & arbitration circuit, and 1E is for selecting the Empty bit (inversion of the Valid bit) as the input data storage register 1F is a path for transferring data and an identifier stored in a register, 1G is a bank conflict detection and arbitration circuit for data stored in a register, and 1H is a buffer for data stored in a register. 1I is the arbiter for the data issuing the storage request to the buffer. Shon circuit, 1 J is a control signal for selecting the data to be stored in the buffer,
1K is a path for transferring information about registers which become empty in the next cycle by outputting data, 1L is a circuit for selecting a register for storing data transferred from the storage device, and 1M is a circuit for selecting a register for storing data transferred from the storage device. Control signal for storing the data stored in the register, 1N is a selector for selecting data to be transferred from the data stored in the register to the buffer, 10O is a path for transferring the data stored in the register to the buffer, 1P is a selector for storing data transferred from the register in a corresponding bank, and 1Q is a register file array or a RAM constituting a buffer by a multi-bank system.

【0013】上記のように構成される本発明の第1の実
施形態において、データ転送パス1Aにより記憶装置から
データが転送されてくると、セレクタ1Bにより複数用意
されたレジスタ1Cのうち、空いているレジスタまたは次
のサイクルで空きになるレジスタのいづれかにデータが
格納される。このとき、記憶装置から転送されてきたデ
ータをどのレジスタに格納するかは、入力データに対す
る格納レジスタ選択回路1Lにより決定される(後述)。
このときに用意しなければならないレジスタの数は、記
憶装置からのデータ転送パス1Aのバンド幅とバッファを
構成している各バンク1Qのバンクの深さ(ただし、書き
込みポート数が1の場合。書き込みポートの数が2以上の
場合は、(バッファを構成している各バンクの深さ÷書
き込みポート数)が、ここでのバンクの深さとなる)に
より決まる。
In the first embodiment of the present invention configured as described above, when data is transferred from the storage device via the data transfer path 1A, the selector 1B empties out of the plurality of registers 1C prepared by the selector 1B. The data is stored in either the current register or the register that becomes empty in the next cycle. At this time, in which register the data transferred from the storage device is stored is determined by the storage register selection circuit 1L for the input data (described later).
The number of registers that must be prepared at this time depends on the bandwidth of the data transfer path 1A from the storage device and the depth of each bank 1Q that constitutes the buffer (when the number of write ports is one). When the number of write ports is two or more, it is determined by (the depth of each bank constituting the buffer divided by the number of write ports) is the bank depth here.

【0014】以下に、転送パス1Aのバンド幅と、バンク
1Qの深さと、レジスタ1Cの必要数について記述する。レ
ジスタ1Cは、記憶装置から転送されてきたデータに関し
て、バンク競合を起こしている全てのデータを格納でき
るだけの数が用意されていなければならない。記憶装置
からの転送データがバンク競合を起こす最悪のケース
は、同一サイクルに記憶装置から転送されてきた複数の
データが全て同一バンクに格納されるというケースが、
連続サイクルで起こった場合である。図1において、記
憶装置からのデータ転送パス1Aのバンド幅が4データ/サ
イクル、バッファを構成する各バンク1Qの深さが8の場
合、同一バンクに格納されるデータが、記憶装置からの
データ転送パス1Aのバンド幅を完全に使い切って連続的
に転送されてくると、バッファは毎サイクル4個のデー
タを受け取るが、そのうちの1つのデータしかバッファ
に格納できない。同一バンクへ格納されるデータが全て
転送されてくるまでのサイクル数は2サイクル(=8デー
タ÷4データ/サイクル)で、その間にバッファへ格納す
ることができるデータの数は、1つのみである(1サイク
ル目は格納データが存在しない)。よって、同一バンク
に格納されるデータが連続して記憶装置から転送されて
くるケースが繰り返し起こった場合には、図2に示すよ
うなタイミングとなる。
Below, the bandwidth of the transfer path 1A and the bank
Describe the depth of 1Q and the required number of registers 1C. Regarding the data transferred from the storage device, the register 1C must have a number sufficient to store all the data causing the bank conflict. In the worst case where transfer data from the storage device causes a bank conflict, a case where a plurality of data transferred from the storage device in the same cycle are all stored in the same bank,
This is when it occurs in a continuous cycle. In FIG. 1, when the bandwidth of the data transfer path 1A from the storage device is 4 data / cycle and the depth of each bank 1Q constituting the buffer is 8, the data stored in the same bank is the data from the storage device. When data is continuously transferred using the full bandwidth of the transfer path 1A, the buffer receives four data per cycle, but only one of the data can be stored in the buffer. The number of cycles until all data stored in the same bank is transferred is 2 cycles (= 8 data ÷ 4 data / cycle), and only one data can be stored in the buffer during that time. There is (the stored data does not exist in the first cycle). Therefore, when data stored in the same bank is continuously transferred from the storage device, the timing shown in FIG. 2 is obtained.

【0015】バンク#0に格納される全データの転送が終
了した後に、バンク#1に格納される全データの転送が行
われるというようなケースが連続した場合、バンク#1へ
格納されるデータが記憶装置から転送されているサイク
ルでは、バンク#0に格納されるデータが1データ/サイク
ルの割合でバッファへ格納されるため、バンク#1へ格納
されるデータが全て転送された時点で、レジスタに格納
されているリプライ・データの数は12個となる。同様
に、連続してバンク#2に格納されるデータが記憶装置か
ら転送されているサイクルでは、バンク#0とバンク#1に
格納されるデータ全体で2データ/サイクルの割合でバッ
ファへ格納されるため、バンク#2に格納されるデータが
全て転送された時点で、レジスタに格納されているデー
タの数は15個となる。バンク#3に格納されるデータの転
送後は、レジスタ1Cに格納されているデータが4バンク
にまたがるため、記憶装置からの転送データ・スループ
ットとバッファへの格納スループットが等しくなるた
め、バンク#3に格納されるデータが転送されてきた時点
で16個のデータがレジスタに格納されているが、これ以
上の数のデータがレジスタ1Cに格納されることはない。
If the transfer of all data stored in bank # 1 is continued after the transfer of all data stored in bank # 0 is completed, the data stored in bank # 1 In the cycle in which the data stored in the bank # 0 is transferred from the storage device, the data stored in the bank # 0 is stored in the buffer at a rate of 1 data / cycle. The number of reply data stored in the register is 12. Similarly, in a cycle in which data stored in bank # 2 is continuously transferred from the storage device, the entire data stored in bank # 0 and bank # 1 are stored in the buffer at a rate of 2 data / cycle. Therefore, when all the data stored in the bank # 2 is transferred, the number of data stored in the register becomes 15. After the transfer of the data stored in bank # 3, the data stored in register 1C spans four banks, so that the transfer data throughput from the storage device and the storage throughput to the buffer are equal. When the data stored in the register 1 is transferred, 16 data are stored in the register, but no more data is stored in the register 1C.

【0016】一般的に、記憶装置からのデータ転送パス
1Aのバンド幅をA、バッファを構成する各バンク1Qの深
さをBデータとする。上記のように同一バンクに格納さ
れるデータが連続して記憶装置から転送されてきた場
合、データが転送されてくるサイクル毎に1個のデータ
をバッファに格納するため、それらのデータはレジスタ
1Cに最大でB-(B/A-1)個格納され、その後、1データ/サ
イクルの割合でバッファに格納される。これが、各バン
クに対して連続的に起こる(ここでは、バンク#0,#1,#
2,#3,・・・の順で起こったとする)と、レジスタ1Cに格納
される最大データ数は以下のようになる。
Generally, a data transfer path from a storage device
The bandwidth of 1A is A, and the depth of each bank 1Q constituting the buffer is B data. As described above, when data stored in the same bank is successively transferred from the storage device, one data is stored in the buffer for each cycle in which the data is transferred.
Up to B- (B / A-1) pieces are stored in 1C, and then stored in the buffer at a rate of 1 data / cycle. This occurs continuously for each bank (here, banks # 0, # 1, #
2, # 3,...), And the maximum number of data stored in the register 1C is as follows.

【0017】バンク#0に格納されるデータが全て転送さ
れた時点 B-(B/A-1) バンク#1に格納されるデータが全て転送された時点 2*
{B-(B/A-1)}-(B/A) バンク#2に格納されるデータが全て転送された時点3*
{B-(B/A-1)}-{2*(B/A)+(B/A)} バンク#3に格納されるデータが全て転送された時点4*
{B-(B/A-1)}-{3*(B/A)+2*(B/A)+(B/A)} バンク#nに格納されるデータが全て転送された時点(n+
1)*{B-(B/A-1)}-{(n+1)*n/2}*(B/A) (n≦A+A/B-1。n>A+A/B-1のときは、レジスタ1Cに格納
されている先頭データが#1,#2,#3,・・・に順次変わ
る。) バンク#nに格納されるデータが全て記憶装置から転送さ
れてきた時点で、レジスタ1Cに格納されているデータは
最大で(n+1)*{B-(B/A-1)}-{(n+1)*n/2}*(B/A)個な
ので、レジスタ1Cに格納されるデータ数の最大値は、1/
2*(A+A/B-1/2)*(B−B/(2*A)+1) となる(端数は切捨
て)。
Time point when all data stored in bank # 0 is transferred B- (B / A-1) Time point when all data stored in bank # 1 is transferred 2 *
{B- (B / A-1)}-(B / A) When all data stored in bank # 2 has been transferred 3 *
{B- (B / A-1)}-{2 * (B / A) + (B / A)} When all data stored in bank # 3 is transferred 4 *
{B- (B / A-1)}-{3 * (B / A) + 2 * (B / A) + (B / A)} When all data stored in bank #n is transferred ( n +
1) * {B- (B / A-1)}-{(n + 1) * n / 2} * (B / A) (n ≦ A + A / B-1.n> A + A / B When the value is -1, the leading data stored in the register 1C sequentially changes to # 1, # 2, # 3, ....) All the data stored in the bank #n has been transferred from the storage device. At this time, the maximum number of data stored in register 1C is (n + 1) * {B- (B / A-1)}-{(n + 1) * n / 2} * (B / A) Therefore, the maximum value of the number of data stored in register 1C is 1 /
2 * (A + A / B-1 / 2) * (B−B / (2 * A) +1) (rounded down).

【0018】レジスタ1Cに格納されたデータは、次のサ
イクルにおいてバンク競合検出&アービトレーション回
路1Gに対して、バッファに対する格納要求を発行する。
バンク競合検出&アービトレーション回路1Gにおいて
は、レジスタ1Cに格納されているデータを格納するバン
ク競合を検出し、バンク競合が起こしているデータに関
しては、それらのうちの1つを選び、格納要求アービト
レーション回路1Iへ格納要求を発行する。
The data stored in the register 1C issues a buffer storage request to the bank conflict detection & arbitration circuit 1G in the next cycle.
The bank conflict detection & arbitration circuit 1G detects a bank conflict that stores the data stored in the register 1C, selects one of the data in which the bank conflict occurs, and selects a storage request arbitration circuit. Issues a storage request to 1I.

【0019】図3にバンク競合検出&アービトレーショ
ン回路1Gの構成例を示す。図3において、1D-#aはレジ
スタ1Cに格納されているデータのValidビット(リクエ
スト信号)、1D-#bはレジスタ1Cに格納されているデー
タの識別子の一部(そのデータが格納されるバンクの番
号)、3Aはバンク番号に関する比較器、1H-#はバンク競
合がない、または、バンク競合があっても優先される格
納要求を示し(図では、バンク競合がない場合‘1’、
ある場合‘0’となる)、パスを介して格納要求アービ
トレーション回路1Iへ転送される。図3に示したバンク
競合検出&アービトレーション回路は、バンク競合が生
じた場合の処理のプライオリティはレジスタ番号による
固定プライオリティ方式となっている。n 番目のレジス
タ1Cの格納要求出力1H-nを出力する論理回路では、n 番
目のレジスタ1Cに格納されているデータのValidビット
及びデータの識別子の一部と、nよりレジスタ番号の小
さい全てのレジスタ1CのデータのValidビット及びデー
タの識別子の一部を入力する。ただし、0 番目のレジス
タ1Cに対応する論理回路は設けられず、0 番目のレジス
タ1Cに格納されているデータのValidビットの値が1H-0
としてそのまま出力される。そして、n 番目の論理回路
は、n よりレジスタ番号の小さいレジスタ1Cに格納され
ている識別子の一部全てとn 番目のレジスタ1Cに格納さ
れている識別子の一部を比較器3Aと比較し、また、n よ
りレジスタ番号の小さいレジスタ1Cに格納されているVa
lidビットを判定し、この比較結果と、判定結果と、n
番目のレジスタ1Cに格納されているValidビットの値に
より、比較結果が等しくない、または、比較相手のデー
タが有効でないという条件が、n よりもレジスタ番号が
小さい全てのレジスタに格納されているデータに対して
成立し、かつ、n 番目のレジスタ1Cに格納されているVa
lidビットの値が有効を示す場合にのみ、格納要求アー
ビトレーション回路1Iに対して格納要求を発行する。
FIG. 3 shows a configuration example of the bank conflict detection & arbitration circuit 1G. In FIG. 3, 1D- # a is a Valid bit (request signal) of the data stored in the register 1C, and 1D- # b is a part of the identifier of the data stored in the register 1C (the data is stored). Bank number), 3A indicates a comparator related to the bank number, 1H- # indicates a storage request that has no bank contention or is given priority even if there is a bank contention (in the figure, “1” when there is no bank contention,
In this case, it becomes '0') and is transferred to the storage request arbitration circuit 1I via the path. The bank conflict detection & arbitration circuit shown in FIG. 3 employs a fixed priority scheme based on register numbers for processing when bank conflict occurs. In the logic circuit that outputs the storage request output 1H-n of the n-th register 1C, the valid bit of the data stored in the n-th register 1C and a part of the data identifier, and all of the register numbers smaller than n The valid bit of the data of the register 1C and a part of the data identifier are input. However, the logic circuit corresponding to the 0th register 1C is not provided, and the value of the Valid bit of the data stored in the 0th register 1C is 1H-0.
Is output as is. Then, the n-th logic circuit compares a part of the identifier stored in the register 1C whose register number is smaller than n and a part of the identifier stored in the n-th register 1C with the comparator 3A, In addition, Va stored in the register 1C whose register number is smaller than n
The lid bit is determined, and the comparison result, the determination result, and n
Depending on the value of the Valid bit stored in the 1st register 1C, the condition that the comparison result is not equal or the data of the comparison partner is not valid depends on the data stored in all registers whose register number is smaller than n. And Va stored in the n-th register 1C
A storage request is issued to the storage request arbitration circuit 1I only when the value of the lid bit indicates valid.

【0020】格納要求アービトレーション回路1Iでは、
格納要求信号1Hを受けて、バッファへの格納要求数がバ
ッファへのデータ転送パス1Oのバンド幅を超えていた
ら、それらのうち、転送パス1Oのバンド幅に見合う分の
数のデータを選択して転送する。図4に格納要求アービ
トレーション回路1Iの構成例を示す。図4において、1H
はバンク競合検出&アービトレーション回路1Gから転送
されてくる格納要求信号、4Aは要求発行ソースの範囲が
2〜15個の場合の格納要求発行数を算出するための回路
(後述)、4B-#は1Hで転送されてきた格納要求信号、4C
-#は当該レジスタよりもプライオリティが高い格納要求
発行データ数を示す制御信号、1Jはバッファに格納する
データを選択する制御信号、1Kは入力データ格納レジス
タ選択回路に転送される制御信号であり、1K-#aは当該
レジスタのデータがバッファに格納可能であることを示
す信号、1K-#bはそのデータよりもプライオリティが高
いデータの個数を示す制御信号である。
In the storage request arbitration circuit 1I,
In response to the storage request signal 1H, if the number of storage requests to the buffer exceeds the bandwidth of the data transfer path 10 to the buffer, select a number of data that matches the bandwidth of the transfer path 10 out of them. Transfer. FIG. 4 shows a configuration example of the storage request arbitration circuit 1I. In FIG. 4, 1H
Is the storage request signal transferred from the bank conflict detection & arbitration circuit 1G, and 4A is the range of the request issuing source.
4B- # is a storage request signal transferred at 1H, and 4C is a circuit for calculating the number of storage request issuances when 2 to 15 storage requests are issued.
-# Is a control signal indicating the number of storage request issuance data having a higher priority than the register, 1J is a control signal for selecting data to be stored in the buffer, 1K is a control signal transferred to the input data storage register selection circuit, 1K- # a is a signal indicating that the data of the register can be stored in the buffer, and 1K- # b is a control signal indicating the number of data having a higher priority than the data.

【0021】図5に格納要求発行数を算出するための回
路4A(4A(1)〜4A(28)からなる)ののうちの4A(0)、4A
(8)、4A(17)を例として、これら回路における入力信号
と出力信号との真理値表を示す。図2で示したように、
記憶装置からのデータ転送パスのバンド幅が4データ/サ
イクルで、バッファのバンクの深さが8データ分であれ
ば、レジスタ1Cからバッファへ格納するデータ数を最大
で4データ/サイクル確保できれば、バンク競合を生じる
最悪ケースであっても記憶装置からのデータ転送を抑止
することなく、データをバッファに格納することができ
る。図1において、レジスタからバッファへのデータ転
送のバンド幅を4データ/サイクルとした場合、図5にお
いては、自分よりプライオリティが高いデータが3個以
下であることを認識すればよく、プライオリティの高い
データが4個以上あれば、図5の真理値表に示した出力
信号を全て0にすることにより、選択ポートを無効とす
る。図5では、レジスタ1Cの番号による固定プライオリ
ティ方式で処理を行っており、当該レジスタに格納され
ているデータが格納要求を発行したときに、当該レジス
タよりもレジスタ番号が小さいレジスタからの格納要求
数が0のときは、4C-#の0信号をアクティブにし、当該レ
ジスタよりもレジスタ番号が小さいレジスタからの格納
要求数が1のときは、4C-#の1信号をアクティブにし、当
該レジスタよりもレジスタ番号が小さいレジスタからの
格納要求数が2のときは、4C-#の2信号をアクティブに
し、当該レジスタよりもレジスタ番号が小さいレジスタ
からの格納要求数が3のときは、4C-#の3信号をアクティ
ブにする。
FIG. 5 shows 4A (0) and 4A of circuits 4A (comprising 4A (1) to 4A (28)) for calculating the number of storage requests issued.
(8) and 4A (17) are shown as examples, and truth tables of input signals and output signals in these circuits are shown. As shown in FIG.
If the bandwidth of the data transfer path from the storage device is 4 data / cycle and the depth of the buffer bank is 8 data, if the number of data to be stored from the register 1C to the buffer can be at most 4 data / cycle, Even in the worst case in which bank contention occurs, data can be stored in the buffer without suppressing data transfer from the storage device. In FIG. 1, when the bandwidth of data transfer from the register to the buffer is 4 data / cycle, in FIG. 5, it is sufficient to recognize that there are three or less pieces of data having a higher priority than itself, If there are four or more data, the selected port is invalidated by setting all output signals shown in the truth table of FIG. 5 to 0. In FIG. 5, the processing is performed by the fixed priority method using the number of the register 1C. When the data stored in the register issues a storage request, the number of storage requests from a register having a smaller register number than the register is determined. Is 0, the 4C- # 0 signal is activated, and when the number of storage requests from the register with the smaller register number is 1, the 4C- # 1 signal is activated and the 4C- # signal is activated. When the number of storage requests from the register with the smaller register number is 2, the signal 4C- # is activated, and when the number of storage requests from the register with the smaller register number is 3, the 4C- # signal is activated. 3 Activate the signal.

【0022】図5には示していないが、当該レジスタよ
りもレジスタ番号が小さいレジスタからの格納要求数が
4以上のときは、前述したように、出力信号の0信号、1
信号、2信号、3信号の全てを0にする。このようにする
ことにより、これらの信号をデータ・セレクタ1Nに対す
る制御信号1Jとして使用することで、当該レジスタに格
納されているデータをバッファへ転送する。
Although not shown in FIG. 5, the number of storage requests from a register whose register number is smaller than the register concerned is
When it is 4 or more, as described above, the output signal is 0 signal, 1 signal
Set all signals, 2 signals and 3 signals to 0. In this way, by using these signals as the control signal 1J for the data selector 1N, the data stored in the register is transferred to the buffer.

【0023】図4の回路4A(0)の場合は、図5(a)の
真理値表に示すように、入力信号の格納要求信号である
#0,#1が0,0のときは、出力信号である格納要求数(#0
〜#1)は、0信号が'1'、1信号が'0'、2信号が'0'とな
り、#0,#1が0,1のときは、0信号が'0'、1信号が'1'、
2信号が'0'となり、#0,#1が1,0のときは、0信号が'
0'、1信号が'1'、2信号が'0'となり、#0,#1が1,1のと
きは、0信号が'0'、1信号が'0'、2信号が'1'となる。
In the case of the circuit 4A (0) of FIG. 4, as shown in the truth table of FIG.
When # 0 and # 1 are 0 and 0, the number of storage requests (# 0
-# 1) is 0 signal is '1', 1 signal is '0', 2 signal is '0', and when # 0 and # 1 are 0 and 1, 0 signal is '0' and 1 signal Is '1',
When 2 signals are '0' and # 0 and # 1 are 1 and 0, 0 signal is'
0 signal, 1 signal is '1', 2 signal is '0', and when # 0 and # 1 are 1 and 1, 0 signal is '0', 1 signal is '0', 2 signal is '1''.

【0024】そして、この出力信号は4C-0となる。図4
の回路4A(8)の場合は、図5(b)の真理値表に示すよ
うになる。この場合、回路4A(0)の出力信号と回路4A(1)
の出力信号とが入力信号となる。そして、この出力信号
は4C-2となる。図4の回路4A(17)の場合は、図5(b)
の真理値表に示すようになる。この場合、回路4A(8)の
出力信号と回路4A(10)の出力信号とが入力信号となる。
そして、この出力信号は4C-7となる。
The output signal is 4C-0. FIG.
In the case of the circuit 4A (8), the truth table shown in FIG. In this case, the output signal of circuit 4A (0) and circuit 4A (1)
Is the input signal. Then, this output signal becomes 4C-2. In the case of the circuit 4A (17) in FIG. 4, FIG.
As shown in the truth table. In this case, the output signal of the circuit 4A (8) and the output signal of the circuit 4A (10) are input signals.
Then, this output signal becomes 4C-7.

【0025】格納要求アービトレーション回路1Iは、デ
ータ・セレクタ1Nに対する制御信号1Jを生成すると共
に、入力データの格納レジスタ選択回路1Lに対して、次
のサイクルで空きになるレジスタ(データを出力するレ
ジスタ)の番号と、そのレジスタがデータを転送したセ
レクタ1Nの番号を制御信号1Kにより転送する。データ・
セレクタ1Nで選択されたデータは、データ転送パス1Oに
よりバッファの各バンク1Qへ転送される。このとき、レ
ジスタ1C全てにデータが格納されている場合に、記憶装
置からのデータ転送を抑止しないためには、バッファへ
のデータ転送パス1Oは記憶装置からのデータ転送パス1A
以上のバンド幅を持っていなければならない。バッファ
へ転送されたデータは、識別子をデコードすることでデ
ータ・セレクタ1Pにより、所定のバンクへ取り込まれ、
さらに、識別子により、そのバンク中の格納アドレスが
決定される。
The storage request arbitration circuit 1I generates a control signal 1J for the data selector 1N, and makes the input data storage register selection circuit 1L empty in the next cycle (register for outputting data). And the number of the selector 1N to which the register has transferred the data is transferred by the control signal 1K. data·
The data selected by the selector 1N is transferred to each bank 1Q of the buffer by the data transfer path 10. At this time, in the case where data is stored in all the registers 1C, in order not to suppress the data transfer from the storage device, the data transfer path 10 to the buffer must be the data transfer path 1A from the storage device.
It must have the above bandwidth. The data transferred to the buffer is taken into a predetermined bank by the data selector 1P by decoding the identifier,
Further, the storage address in the bank is determined by the identifier.

【0026】入力データの格納レジスタ選択回路1Lは、
レジスタ1CからのEmptyビット(Validビットの反転)を
受け取り、また、格納要求アービトレーション回路1Iか
ら次のサイクルで空きになるレジスタ番号とそのレジス
タが出力したポート番号(セレクタ番号)を受け取るこ
とにより、記憶装置から転送されてくるデータをレジス
タ1Cの次のサイクルで利用可能なレジスタに格納する。
図6に入力データの格納レジスタ選択回路1Lの構成例を
示す。図6において、6Aは当該レジスタよりもレジスタ
番号が小さい空きレジスタの数を算出するための回路、
6Bは空きレジスタ数を示す信号と当該レジスタのEmpty
ビット、6Cは記憶装置から転送されてきた入力データを
格納するレジスタを決定する回路、1M-#はデータ・セレ
クタ1Bのそれぞれに対応する制御信号である。
The input data storage register selection circuit 1L
Receives the Empty bit (Valid bit inverted) from the register 1C, and stores the register number to be vacant in the next cycle and the port number (selector number) output by the register from the storage request arbitration circuit 1I. The data transferred from the device is stored in a register available in the next cycle of the register 1C.
FIG. 6 shows a configuration example of the input data storage register selection circuit 1L. In FIG. 6, 6A is a circuit for calculating the number of empty registers having a smaller register number than the register concerned,
6B is a signal indicating the number of empty registers and the Empty
The bit 6C is a circuit for determining a register for storing input data transferred from the storage device, and 1M- # are control signals corresponding to each of the data selectors 1B.

【0027】空きレジスタ数検出回路6Aの構成を図7に
示す。図7において、7Aはレジスタ1Cの検出する範囲が
2〜15個の場合の空きレジスタ数を算出するための回
路、6B-#aは当該レジスタのEmptyビット、6B-#bは当該
レジスタよりもレジスタ番号が小さい空きレジスタの数
を示す信号である。図7の回路は図4の回路と同様の回
路であり、当該レジスタよりもレジスタ番号が小さい空
きレジスタが3個以下であることを検出し、当該レジス
タよりもレジスタ番号が小さい空きレジスタの数が0の
ときは、6B-#bの0信号をアクティブにし、当該レジスタ
よりもレジスタ番号が小さい空きレジスタの数が1のと
きは、6B-#bの1信号をアクティブにし、当該レジスタよ
りもレジスタ番号が小さい空きレジスタの数が2のとき
は、6B-#bの2信号をアクティブにし、当該レジスタより
もレジスタ番号が小さい空きレジスタの数が3のとき
は、6B-#bの3信号をアクティブにする。そして、当該レ
ジスタよりもレジスタ番号が小さい空きレジスタの数が
4以上のときは、6B-#bのどの信号もアクティブしない。
この場合、対応するレジスタは次のサイクルにおいて、
記憶装置から転送されてきたデータを格納しない。
FIG. 7 shows the configuration of the empty register number detection circuit 6A. In FIG. 7, the range 7A is detected by the register 1C.
A circuit for calculating the number of empty registers in the case of 2 to 15, 6B- # a is an Empty bit of the register, and 6B- # b is a signal indicating the number of empty registers having a smaller register number than the register. . The circuit shown in FIG. 7 is similar to the circuit shown in FIG. 4, and detects that there are three or less empty registers having smaller register numbers than the corresponding register. When 0, the 6B- # b 0 signal is activated, and when the number of empty registers with the smaller register number is 1, the 6B- # b 1 signal is activated, and the register is more activated than the corresponding register. When the number of vacant registers having a small number is two, the two signals of 6B- # b are activated.When the number of vacant registers having a register number smaller than the register is three, three signals of 6B- # b are activated. Activate. Then, the number of empty registers whose register number is smaller than the
When it is 4 or more, none of the signals of 6B- # b is activated.
In this case, the corresponding register will be
Do not store data transferred from the storage device.

【0028】空きレジスタ数検出回路6Aから出力された
各レジスタ毎のEmptyビットと空きレジスタ数信号から
なる信号6Bは、格納要求アービトレーション回路1Iから
受け取った信号1Kと合わせて、レジスタ1Cのそれぞれに
対応して用意された入力データ・アービトレーション回
路6Cへ入力される。入力データ・アービトレーション回
路6Cでは、図8に示す真理値表に従って対応するデータ
・セレクタ1Bへ当該レジスタの入力データ格納優先度信
号1Mを転送する。このときに、信号1Mをそのままセレク
タの制御信号として使用した場合、レジスタ1Cにおいて
はレジスタ番号が小さい方から入力データが格納されな
いが、図9に示す真理値表のように入力データ格納優先
度信号1Mとデータ転送パス1AのValidビットから当該レ
ジスタに格納する入力データを決定すれば、レジスタ1C
において、利用可能なレジスタのうちレジスタ番号が小
さい方から順に入力データを格納することができる。
The signal 6B composed of the Empty bit for each register and the empty register number signal output from the empty register number detection circuit 6A corresponds to each of the registers 1C together with the signal 1K received from the storage request arbitration circuit 1I. And input to the input data arbitration circuit 6C. The input data arbitration circuit 6C transfers the input data storage priority signal 1M of the register to the corresponding data selector 1B according to the truth table shown in FIG. At this time, if the signal 1M is used as it is as the control signal of the selector, the input data is not stored in the register 1C from the smaller register number, but as shown in the truth table shown in FIG. If the input data to be stored in the register is determined from the 1M and the valid bit of the data transfer path 1A, the register 1C
In the above, input data can be stored in an available register in ascending order of register number.

【0029】先述した本発明の第1の実施形態によれ
ば、識別子付加方式による記憶装置に対するアクセス方
式において、読み出し要求発行の順番に対して、ランダ
ムな順番で記憶装置から転送されてくるデータを格納す
るバッファをレジスタ・ファイル・アレイやRAM等を用い
たマルチ・バンク方式によって構成することができる。
このとき、記憶装置からのデータ転送を抑止する必要が
ないため、記憶装置からのデータ読み出し性能を低下さ
せることなく、大容量のバッファを構成するために必要
なゲート数を削減することができる。
According to the above-described first embodiment of the present invention, in the access method for the storage device using the identifier addition method, the data transferred from the storage device in a random order with respect to the order in which the read requests are issued. The buffer for storing can be configured by a multi-bank system using a register file array, a RAM, or the like.
At this time, since there is no need to suppress data transfer from the storage device, the number of gates required to configure a large-capacity buffer can be reduced without lowering the performance of reading data from the storage device.

【0030】<実施形態2>本発明の第2の実施形態
は、図10に示すように図1に示す本発明の第1の実施
形態の構成に、毎サイクル更新されるカウンタ10Aと、
それらをレジスタ1Cへ転送するパス10Bと、記憶装置か
らのデータがレジスタ1Cに格納されるときのカウンタ値
を保持するためのレジスタ10Cを付加することにより構
成される。また、パス1Dでは、レジスタ1CのデータのVa
lidビットおよび識別子の他にカウンタ値を転送する。
以下では、実施形態1との間における差異についてのみ
記述する。
Second Embodiment As shown in FIG. 10, a second embodiment of the present invention is different from the first embodiment of the present invention shown in FIG.
It is configured by adding a path 10B for transferring them to the register 1C and a register 10C for holding a counter value when data from the storage device is stored in the register 1C. In the path 1D, the data Va of the register 1C is used.
Transfer counter value in addition to lid bit and identifier.
Hereinafter, only differences from the first embodiment will be described.

【0031】上記のようにして構成された本発明の第2
の実施形態において、データ転送パス1Aにより記憶装置
からデータが転送されてくると、データ・セレクタ1Bに
より、レジスタ1Cのうち空いているレジスタまたは次の
サイクルで空きになるレジスタのいづれかに、入力デー
タの格納レジスタ選択回路1Lからの制御信号1Mに従っ
て、データが格納される。このとき、カウンタ10Aの値
がパス10Bによりレジスタ10Cに転送される。
The second embodiment of the present invention constructed as described above
In the embodiment, when data is transferred from the storage device via the data transfer path 1A, the data selector 1B outputs the input data to either an empty register among the registers 1C or a register which becomes empty in the next cycle. The data is stored according to the control signal 1M from the storage register selection circuit 1L. At this time, the value of the counter 10A is transferred to the register 10C by the path 10B.

【0032】図11にバンク競合検出&アービトレーシ
ョン回路1Gの構成例を示す。図11において、1D-#aは
レジスタ1CのデータのValidビット、1D-#bはレジスタ1C
のデータの識別子の一部(格納バンク番号)、1D-#cは
データがレジスタ1Cに格納されたときのカウンタ11Aの
値、11Aはバンク番号に関する比較器、11Bは当該データ
のレジスタよりもレジスタ番号が大きいレジスタのデー
タとのカウンタ値に関する比較器、11Cは当該データの
レジスタよりもレジスタ番号が小さいレジスタのデータ
とのカウンタ値に関する比較器である。図11に示した
バンク競合検出&アービトレーション回路は、バンク競
合が起こった場合には、カウンタ値が小さい方を優先
し、さらに、カウンタ値が等しいときはレジスタ番号が
小さい方を優先して、格納要求アービトレーション回路
1Iに対してバッファへの格納要求を発行する。
FIG. 11 shows a configuration example of the bank conflict detection & arbitration circuit 1G. In FIG. 11, 1D- # a is a Valid bit of the data of the register 1C, and 1D- # b is a register 1C.
Part of the data identifier (storage bank number), 1D- # c is the value of the counter 11A when the data is stored in the register 1C, 11A is the comparator related to the bank number, and 11B is the register of the data rather than the register of the data. A comparator 11C is a comparator relating to the counter value with the data of the register having the larger number, and 11C is a comparator relating to the counter value with the data of the register having the smaller register number than the register of the data. The bank conflict detection & arbitration circuit shown in FIG. 11 gives priority to a smaller counter value when bank conflict occurs, and gives priority to a smaller register number when the counter values are equal. Request arbitration circuit
Issues a buffer storage request to 1I.

【0033】図12に格納要求アービトレーション回路
1Iの構成例を示す。図12において、1H-#aはバンク競
合検出&アービトレーション回路1Gから転送されてくる
格納要求信号、1H-#bは当該データに付加されたカウン
タ値、12Aは当該データのレジスタよりもレジスタ番号
が大きいレジスタのデータとのカウンタ値に関する比較
器、12Bは当該データのレジスタよりもレジスタ番号が
小さいレジスタのデータとのカウンタ値に関する比較
器、12Cは当該レジスタよりもバッファへの格納優先度
が高いレジスタ数を算出するための回路、1Jはセレクタ
1Nへ転送する制御信号、1K-#aは当該レジスタのデータ
がバッファに格納されることを示す信号、1K-#bはその
データよりもプライオリティが高いデータの個数を示す
信号であり、信号1Kは入力データの格納レジスタ選択回
路1Lへ転送される。
FIG. 12 shows a storage request arbitration circuit.
An example of the configuration of 1I is shown. In FIG. 12, 1H- # a is a storage request signal transferred from the bank conflict detection & arbitration circuit 1G, 1H- # b is a counter value added to the data, and 12A is a register number which is larger than the register of the data. A comparator for the counter value with the data of the large register, 12B is a comparator for the counter value with the data of the register whose register number is smaller than the register of the data, and 12C is a register having a higher storage priority to the buffer than the register. Circuit for calculating numbers, 1J is a selector
A control signal to be transferred to 1N, 1K- # a is a signal indicating that data of the register is stored in the buffer, 1K- # b is a signal indicating the number of data having a higher priority than the data, and a signal 1K Is transferred to the storage register selection circuit 1L for input data.

【0034】当該レジスタよりもバッファへの格納優先
度が高いレジスタ数を算出する回路12Cは図4に示した
回路と同様の回路により構成することができる。図12
に示した格納要求アービトレーション回路1Iは、格納要
求数がバッファへのデータ転送パス1Oのバンド幅を超え
た場合に、カウンタ値が小さい方を優先し、さらに、カ
ウンタ値が等しいときはレジスタ番号が小さい方を優先
して、バッファへデータを転送する。上記以外は基本的
に実施形態1と同様の動作となる。
The circuit 12C for calculating the number of registers having a higher storage priority in the buffer than the register can be constituted by a circuit similar to the circuit shown in FIG. FIG.
When the number of storage requests exceeds the bandwidth of the data transfer path 10 to the buffer, the storage request arbitration circuit 1I shown in (1) gives priority to the smaller counter value, and furthermore, if the counter values are equal, the register number is Transfer the data to the buffer, giving priority to the smaller one. Except for the above, the operation is basically the same as that of the first embodiment.

【0035】先述した本発明の第2の実施形態によれ
ば、実施形態1に示した効果の他に、同一バンクに格納
されるデータに関しては、記憶装置から転送されてきた
順番でバッファに格納することが可能となる。さらに、
レジスタ1Cに格納されているデータがバッファに格納さ
れるまでの最長サイクル数が保証されるため、特定のデ
ータがレジスタ1Cからの出力において沈み込まないこと
が保証できる。
According to the above-described second embodiment of the present invention, in addition to the effects shown in the first embodiment, data stored in the same bank is stored in the buffer in the order transferred from the storage device. It is possible to do. further,
Since the maximum number of cycles until the data stored in the register 1C is stored in the buffer is guaranteed, it can be ensured that specific data does not sink in the output from the register 1C.

【0036】<実施形態3>本発明の第3の実施形態
は、図13に示すように図1に示す本発明の第1の実施
形態の構成に、記憶装置からのデータ転送パス1Aから制
御信号1Dとデータ転送パス1Fへバイパスする転送パス13
Aを付加することにより構成される。以下では、実施形
態1との間における差異についてのみ記述する。
<Third Embodiment> In a third embodiment of the present invention, as shown in FIG. 13, the configuration of the first embodiment of the present invention shown in FIG. 1 is controlled by a data transfer path 1A from a storage device. Transfer path 13 to bypass to signal 1D and data transfer path 1F
It is constructed by adding A. Hereinafter, only differences from the first embodiment will be described.

【0037】上記のように構成される本発明の第3の実
施形態において、データ転送パス1Aによりデータが転送
されてくると、そのデータはデータ・セレクタ1Bへ転送
されると同時に、バイパス経路13Aにより、バンク競合
検出&アービトレーション回路1GにValid信号と格納バ
ンク番号を転送する。バンク競合検出&アービトレーシ
ョン回路1Gと格納要求アービトレーション回路1Iにおい
ては、これらのバイパスしたデータに仮想的なレジスタ
番号を付加することにより、本発明の第1の実施形態で
示した場合と同一の処理を行う。このとき、記憶装置か
ら転送されてきたデータが他のデータとバンク競合を起
こしていなければ、それらのデータをレジスタ1Cへ格納
する必要がないため、レジスタ1Cにおいて用意しなけれ
ばならないレジスタ数を減らすことが可能となる。
In the third embodiment of the present invention configured as described above, when data is transferred through the data transfer path 1A, the data is transferred to the data selector 1B and at the same time as the bypass path 13A. Thus, the Valid signal and the storage bank number are transferred to the bank conflict detection & arbitration circuit 1G. The bank conflict detection & arbitration circuit 1G and the storage request arbitration circuit 1I add the virtual register numbers to these bypassed data, thereby performing the same processing as that shown in the first embodiment of the present invention. Do. At this time, if the data transferred from the storage device does not cause a bank conflict with other data, it is not necessary to store the data in the register 1C, so that the number of registers that must be prepared in the register 1C is reduced. It becomes possible.

【0038】実施形態1と同様に、記憶装置からのデー
タ転送パス1Aのバンド幅をAデータ/サイクル、バッファ
を構成する各バンク1Qの深さをBデータとする。同一バ
ンクに格納されるデータが連続して記憶装置から転送さ
れてきた場合、データが転送されてきた最初のサイクル
においても、データを1個バッファに格納することがで
きるので、それら同一バンクに格納されるデータは最大
でレジスタ1Cに(B-B/A)個格納され、その後、1データ/
サイクルの割合でバッファに格納される。これが、各バ
ンクに対して連続的に起こる(ここでは、バンク#0,#1,
#2,#3・・・の順で起こったとする)と、レジスタ1Cに格納
されている最大データ数は以下のようになる。 バンク#0に格納されるデータが全て転送された時点 B-
B/A バンク#1に格納されるデータが全て転送された時点 2*
(B-B/A)-B/A バンク#2に格納されるデータが全て転送された時点3*(B
-B/A)-{2*(B/A)+(B/A)} バンク#3に格納されるデータが全て転送された時点4*(B
-B/A)-{3*(B/A)+2*(B/A)+(B/A)} バンク#nに格納されるデータが全て転送された時点(n+
1)*(B-B/A)-{(n+1)*n/2}*(B/A) (n≦A-1。n>A-1のときは、レジスタ1Cに格納されて
いる先頭データが#1,#2,#3,・・・に順次変わる。) バンク#nに格納されるデータが全て記憶装置から転送さ
れてきた時点で、レジスタ1Cに格納されているデータは
最大で(n+1)*(B-B/A)-{(n+1)*n/2}*(B/A)個なので、
レジスタ1Cに格納されているデータ数の最大値は、(1/
8)*(4*A*B-4B+B/A)となる(端数切り捨て)。記憶装置
からのデータ転送パス1Aのバンド幅が4データ/サイクル
で、バンクの深さが8データ分であれば、実施形態1の場
合ではレジスタ1Cは16レジスタ必要であるが、実施形態
3の場合ではレジスタ1Cは12レジスタでよい。
As in the first embodiment, the bandwidth of the data transfer path 1A from the storage device is A data / cycle, and the depth of each bank 1Q constituting the buffer is B data. When data stored in the same bank is successively transferred from the storage device, one data can be stored in the buffer even in the first cycle in which the data is transferred. Up to (BB / A) registers are stored in register 1C, and then 1 data /
Stored in the buffer at the rate of the cycle. This occurs continuously for each bank (here, banks # 0, # 1,
# 2, # 3,...), And the maximum number of data stored in the register 1C is as follows. When all data stored in bank # 0 has been transferred B-
When all data stored in B / A bank # 1 has been transferred 2 *
(BB / A) -B / A Time point 3 * (B
-B / A)-{2 * (B / A) + (B / A)} When all data stored in bank # 3 is transferred 4 * (B
-B / A)-{3 * (B / A) + 2 * (B / A) + (B / A)} When all data stored in bank #n is transferred (n +
1) * (BB / A)-{(n + 1) * n / 2} * (B / A) (n ≦ A-1. When n> A-1, the top stored in register 1C The data sequentially changes to # 1, # 2, # 3, ....) When all the data stored in the bank #n has been transferred from the storage device, the data stored in the register 1C is maximum. (n + 1) * (BB / A)-{(n + 1) * n / 2} * (B / A)
The maximum value of the number of data stored in register 1C is (1 /
8) * (4 * A * B-4B + B / A) (rounded down). If the bandwidth of the data transfer path 1A from the storage device is 4 data / cycle and the depth of the bank is 8 data, in the case of the first embodiment, 16 registers 1C are required in the case of the first embodiment. In some cases, register 1C may be 12 registers.

【0039】入力データの格納レジスタ選択回路1Lにお
いては、バイパス経路13Aにより転送されてきたデータ
がバッファに格納される場合は、当該データに対応する
データ・セレクタ1Bに対する制御信号をキャンセルしな
ければならない。これは、バイパスされたデータの仮想
レジスタ番号と入力データのポート番号を1対1に対応さ
せることにより、図14に示すように構成される。図1
4において、14Aはレジスタ1Cの空きレジスタ数を算出
する回路、14Bは空きレジスタ数検出回路14Aの出力信
号、14Cはレジスタ1Cにおいて格納するデータを選択す
る回路である。空きレジスタ検出回路14A、入力データ・
アービトレーション回路14Cは実施形態1と同様の回路
により構成される。信号1K-12a,1K-13a,1K-14a,1K-15a
は、それぞれ記憶装置から転送されてきたデータ0〜3に
対するバッファへの格納可能を示す信号であり、これら
の信号が真の場合は、対応する入力データのセレクト信
号を抑止する。上記以外は基本的に実施形態1と同様の
動作となる。
In the input data storage register selection circuit 1L, when the data transferred by the bypass path 13A is stored in the buffer, the control signal for the data selector 1B corresponding to the data must be canceled. . This is configured as shown in FIG. 14 by associating a virtual register number of bypassed data with a port number of input data on a one-to-one basis. FIG.
In 4, 14A is a circuit for calculating the number of empty registers in the register 1C, 14B is an output signal of the empty register number detection circuit 14A, and 14C is a circuit for selecting data to be stored in the register 1C. Empty register detection circuit 14A, input data
The arbitration circuit 14C is configured by a circuit similar to that of the first embodiment. Signal 1K-12a, 1K-13a, 1K-14a, 1K-15a
Are signals indicating that data 0 to 3 transferred from the storage device can be stored in the buffer. When these signals are true, the select signal of the corresponding input data is suppressed. Except for the above, the operation is basically the same as that of the first embodiment.

【0040】先述した本発明の第3の実施形態によれ
ば、実施形態1に示した効果の他に、記憶装置から転送
されてきたデータが他のデータとの間でバンク競合を起
こしていなければ、それらのデータを直接バッファへ転
送することができるため、レイテンシの削減および記憶
装置からの転送データを一時的に保持するレジスタの数
を削減することができる。
According to the above-described third embodiment of the present invention, in addition to the effects shown in the first embodiment, the data transferred from the storage device must cause a bank conflict with other data. For example, since such data can be directly transferred to the buffer, the latency can be reduced and the number of registers for temporarily storing transfer data from the storage device can be reduced.

【0041】[0041]

【発明の効果】以上に説明したような本発明によれば、
計算機システム中の構成要素により発行されたデータ読
み出し要求に対する記憶装置からの転送データが、要求
を発行した順番ではなく、ランダムな順番で転送されて
くるような記憶装置に対するアクセス方式であり、それ
らのデータを識別子付加方式により管理している記憶装
置アクセス方式において、データを格納するバッファを
レジスタ・ファイル・アレイやRAM等を用いたマルチ・バン
ク方式で構成することにより、大容量のバッファを構成
する場合にゲート数を削減することができる。また、こ
のとき、記憶装置からのデータ転送を抑止する必要をな
くすことができ、記憶装置に対するアクセスにおいて、
データ転送性能の低下を防止できる。
According to the present invention as described above,
An access method for a storage device in which transfer data from a storage device in response to a data read request issued by a component in a computer system is transferred in a random order, not in the order in which the requests were issued, In a storage device access method in which data is managed by an identifier addition method, a large-capacity buffer is formed by configuring a buffer for storing data in a multi-bank method using a register file array, a RAM, or the like. In this case, the number of gates can be reduced. Also, at this time, it is possible to eliminate the need to suppress data transfer from the storage device, and in accessing the storage device,
Data transfer performance can be prevented from lowering.

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

【図1】本発明のバッファ制御方式の実施形態1の構成
を示す図である。
FIG. 1 is a diagram showing a configuration of a buffer control method according to a first embodiment of the present invention.

【図2】記憶装置からの転送データのバンク競合を生じ
る最悪な転送パターンの例を示す図である。
FIG. 2 is a diagram illustrating an example of a worst transfer pattern that causes a bank conflict of transfer data from a storage device.

【図3】図1におけるバンク競合検出&アービトレーシ
ョン回路の構成例を示す図である。
FIG. 3 is a diagram illustrating a configuration example of a bank conflict detection & arbitration circuit in FIG. 1;

【図4】図1における格納要求アービトレーション回路
の構成例を示す図である。
FIG. 4 is a diagram illustrating a configuration example of a storage request arbitration circuit in FIG. 1;

【図5】図4における格納要求数を算出するための回路
の一部の構成例における真理値表を示す図である。
FIG. 5 is a diagram showing a truth table in a configuration example of a part of a circuit for calculating the number of storage requests in FIG. 4;

【図6】図1における入力データ格納レジスタ選択回路
の構成例を示す図である。
FIG. 6 is a diagram illustrating a configuration example of an input data storage register selection circuit in FIG. 1;

【図7】図6における空きレジスタ数を算出するための
回路の構成例を示す図である。
FIG. 7 is a diagram illustrating a configuration example of a circuit for calculating the number of empty registers in FIG. 6;

【図8】図6における入力データ・アービトレーション
回路の構成例における真理値表を示す図である。
8 is a diagram illustrating a truth table in a configuration example of the input data arbitration circuit in FIG. 6;

【図9】図6における入力データ・アービトレーション
回路の構成例における他の真理値表を示す図である。
9 is a diagram illustrating another truth table in the configuration example of the input data arbitration circuit in FIG. 6;

【図10】本発明のバッファ制御方式の実施形態2の構
成を示す図である。
FIG. 10 is a diagram showing a configuration of a buffer control system according to a second embodiment of the present invention.

【図11】図10におけるバンク競合検出&アービトレ
ーション回路の構成例を示す図である。
11 is a diagram illustrating a configuration example of a bank conflict detection & arbitration circuit in FIG. 10;

【図12】図10における格納要求アービトレーション
回路の構成例を示す図である。
FIG. 12 is a diagram illustrating a configuration example of a storage request arbitration circuit in FIG. 10;

【図13】本発明のバッファ制御方式の実施形態3の構
成を示す図である。
FIG. 13 is a diagram showing a configuration of a buffer control system according to a third embodiment of the present invention.

【図14】図13における入力データの格納レジスタ選
択回路の構成例を示す図である。
14 is a diagram illustrating a configuration example of an input data storage register selection circuit in FIG. 13;

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

1A 記憶装置からのデータを転送するパス 1B 記憶装置から転送されてきたデータをレジスタへ
格納するためのセレクタ 1C 記憶装置から転送されてきたデータを一時的に格
納するレジスタ 1D レジスタに格納されているデータに関する制御信
号 1E 空きレジスタに関する制御信号 1F レジスタに格納されているデータを転送するパス 1G レジスタに格納されているデータのバンク競合検
出&アービトレーション回路 1H レジスタのデータに関するバッファへの格納要求
信号 1I バッファへの格納要求を発行しているデータに対
するアービトレーション回路 1J バッファに格納するデータを選択するための制御
信号 1K 次のサイクルで空きになるレジスタに関する制御
信号 1L 入力データ格納レジスタ選択回路 1M 入力データをレジスタに格納するための制御信号 1N レジスタのデータからバッファへ転送するデータ
を選択するセレクタ 1O レジスタのデータをバッファへ転送するパス 1P データを各バンクへ格納するためのセレクタ 1Q バッファを構成するバンク(レジスタ・ファイル
・アレイ、RAM等) 3A バンク番号に関する比較器 6A 空きレジスタ数検出回路 6B 空きレジスタ数に関する制御信号 6C 入力データアービトレーション回路 7A 空きレジスタ数を算出するための回路 10A カウンタ 10B カウンタ値を転送するパス 10C カウンタ値を保持するレジスタ 11A バンク番号に関する比較器 11B,11C カウンタ値に関する比較器 12A,12B カウンタ値に関する比較器 12C バッファへの格納優先度が高いレジスタ数を算
出するための回路 13A データをバイパスするための転送パス
1A Path for transferring data from a storage device 1B Selector for storing data transferred from a storage device in a register 1C Register for temporarily storing data transferred from a storage device 1D Stored in a register Control signal for data 1E Control signal for empty register 1F Path for transferring data stored in register 1G Bank conflict detection & arbitration circuit for data stored in register 1H Storage request signal to buffer for data in 1H register 1I buffer Arbitration circuit for data issuing a storage request to memory 1J Control signal for selecting data to be stored in buffer 1K Control signal for register vacant in next cycle 1L Input data storage register selection circuit 1M input data Control signal for storing data in the register 1N Selector for selecting data to be transferred from the data of the register to the buffer 1O Path for transferring the data of the register to the buffer 1P Selector for storing the data in each bank 1Q Buffer Bank (register file array, RAM, etc.) 3A Comparator for bank number 6A Number of empty registers detection circuit 6B Control signal for number of empty registers 6C Input data arbitration circuit 7A Circuit for calculating the number of empty registers 10A Counter 10B Counter value 10C Register for holding counter value 11A Comparator for bank number 11B, 11C Comparator for counter value 12A, 12B Comparator for counter value 12C Register with high storage priority to buffer Forwarding path for bypassing the circuit 13A data for calculating the number

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 記憶装置から読み出されたデータを並び
替えてバッファに格納するためのバッファ制御方式であ
って、 記憶装置から読み出され転送された複数のデータを一時
的に保持するための複数のレジスタと、 該レジスタに格納する転送データを制御信号に従って選
択し格納するための第1のセレクタと、 前記各レジスタに格納されたデータのValidビット及び
識別子を入力し、データのバンク競合を検出しバンク競
合を起こしているデータから1つのデータを選択するバ
ンク競合検出・アービトレーション回路と、 該回路の出力を入力し、レジスタに格納されている複数
のデータが同時にバッファへ格納可能な場合に格納する
データを選択する格納要求アービトレーション回路と、 該回路の出力に従ってレジスタからバッファに転送する
データを選択する第2のセレクタと、 該回路の出力と前記各レジスタのEmptyビットを入力
し、前記レジスタに格納する転送データを選択する制御
信号を作成し、前記第1のセレクタに出力する入力デー
タ格納レジスタ選択回路と、 前記第2のセレクタから出力されたデータをバッファの
各バンクに格納するための第3のセレクタを備え、 記憶装置から同一サイクルにランダムに読み出される複
数のデータがバンク競合を起こしても、記憶装置からの
読み出しデータの転送を抑止することなく読み出しデー
タをバッファに格納し、記憶装置からの読み出しデータ
を並べ替えるためのバッファをレジスタ・ファイル・アレ
イやRAM等を用いてマルチ・バンク方式により構成するこ
とを特徴とするバッファ制御方式。
1. A buffer control method for rearranging data read from a storage device and storing the rearranged data in a buffer, wherein the buffer control system temporarily stores a plurality of data read and transferred from the storage device. A plurality of registers, a first selector for selecting and storing transfer data to be stored in the registers in accordance with a control signal, and a valid bit and an identifier of the data stored in each of the registers; A bank conflict detection and arbitration circuit for detecting and selecting one data from the data causing a bank conflict; and an output of the bank conflict detection and arbitration circuit, when a plurality of data stored in a register can be simultaneously stored in a buffer. A storage request arbitration circuit for selecting data to be stored, and transferring data from a register to a buffer in accordance with an output of the circuit. A second selector for selecting data, an input for receiving an output of the circuit and an Empty bit of each register, generating a control signal for selecting transfer data to be stored in the register, and outputting the control signal to the first selector A data storage register selection circuit; and a third selector for storing the data output from the second selector in each bank of the buffer. Even if an error occurs, the read data is stored in the buffer without suppressing the transfer of the read data from the storage device, and the buffer for rearranging the read data from the storage device is formed using a register file array, a RAM, or the like. A buffer control method comprising a multi-bank method.
【請求項2】 請求項1記載のバッファ制御方式におい
て、 記憶装置からのデータ転送サイクルの毎サイクル更新さ
れるカウンタを備え、前記各レジスタには、該レジスタ
に転送されたデータの転送時のカウンタのカウンタ値を
格納し、 前記バンク競合検出・アービトレーション回路は、さら
に前記カウンタ値を入力して、データのバンク競合を検
出しバンク競合を起こしているデータから1つのデータ
を選択し、該データ選択出力に前記カウンタ値を含め、 前記格納要求アービトレーション回路は、該カウンタ値
を含むデータ選択出力を入力し、レジスタに格納されて
いる複数のデータが同時にバッファへ格納可能な場合に
格納するデータを選択し、 記憶装置から転送されてきたデータを同一バンクへ格納
されるデータに関しては、記憶装置から転送されてきた
順序で各バンクに格納し、記憶装置から転送されてきた
データがバッファに格納されるまでにレジスタに保持さ
れている最大サイクル数を保証することを特徴としたバ
ッファ制御方式。
2. The buffer control method according to claim 1, further comprising: a counter that is updated every cycle of a data transfer cycle from the storage device, wherein each of the registers includes a counter for transferring data transferred to the register. The bank conflict detection and arbitration circuit further receives the counter value, detects the bank conflict of data, selects one data from the data in which the bank conflict occurs, and selects the data. Including the counter value in the output, the storage request arbitration circuit inputs a data selection output including the counter value and selects data to be stored when a plurality of data stored in the register can be simultaneously stored in the buffer. The data transferred from the storage device is stored in the same bank. Buffer control method that stores data in each bank in the order in which data is transferred from the storage device, and guarantees the maximum number of cycles held in a register before data transferred from the storage device is stored in the buffer. .
【請求項3】 請求項1または請求項2記載のバッファ
制御方式において、 記憶装置から読み出された複数のデータ転送パスを前記
レジスタに接続すると共に、直接、前記バンク競合検出
・アービトレーション回路および前記第2のセレクタに
接続し、前記バンク競合検出・アービトレーション回路
および格納要求アービトレーション回路において記憶装
置から転送されてきたデータがバンク競合を生じていな
いことを検出した場合は、前記レジスタをバイパスして
該バンク競合を生じていないデータを前記レジスタをバ
イパスしてバッファに格納することを特徴とするバッフ
ァ制御方式。
3. The buffer control method according to claim 1, wherein a plurality of data transfer paths read from a storage device are connected to the register, and the bank conflict detection / arbitration circuit and the bank conflict detection / arbitration circuit are directly connected to the register. The second selector is connected to the second selector, and when it is detected in the bank conflict detection / arbitration circuit and the storage request arbitration circuit that the data transferred from the storage device does not cause bank conflict, the register is bypassed. A buffer control method, wherein data that does not cause bank contention is stored in a buffer by bypassing the register.
JP28308697A 1997-09-30 1997-09-30 Buffer control method Pending JPH11110289A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP28308697A JPH11110289A (en) 1997-09-30 1997-09-30 Buffer control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP28308697A JPH11110289A (en) 1997-09-30 1997-09-30 Buffer control method

Publications (1)

Publication Number Publication Date
JPH11110289A true JPH11110289A (en) 1999-04-23

Family

ID=17661043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP28308697A Pending JPH11110289A (en) 1997-09-30 1997-09-30 Buffer control method

Country Status (1)

Country Link
JP (1) JPH11110289A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099295A (en) * 2004-09-29 2006-04-13 Nec Computertechno Ltd Memory access control system and method and shared memory access control system and method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006099295A (en) * 2004-09-29 2006-04-13 Nec Computertechno Ltd Memory access control system and method and shared memory access control system and method
JP4593220B2 (en) * 2004-09-29 2010-12-08 エヌイーシーコンピュータテクノ株式会社 Memory access control method and method, and shared memory access control method and method

Similar Documents

Publication Publication Date Title
US6944731B2 (en) Dynamic random access memory system with bank conflict avoidance feature
US6745277B1 (en) Intelligent interleaving scheme for multibank memory
US8099567B2 (en) Reactive placement controller for interfacing with banked memory storage
JP4024875B2 (en) Method and apparatus for arbitrating access to shared memory for network ports operating at different data rates
US5522059A (en) Apparatus for multiport memory access control unit with plurality of bank busy state check mechanisms employing address decoding and coincidence detection schemes
WO2007069506A1 (en) Storage region allocation system, method, and control device
US7051135B2 (en) Hierarchical bus arbitration
US4138720A (en) Time-shared, multi-phase memory accessing system
CN1328659C (en) Improved architecture with shared memory
JPH0812635B2 (en) Dynamically relocated memory bank queue
US6553478B1 (en) Computer memory access
US20080235707A1 (en) Data processing apparatus and method for performing multi-cycle arbitration
US5201058A (en) Control system for transferring vector data without waiting for transfer end of the previous vector data
JPH11110289A (en) Buffer control method
JP2003316571A (en) Parallel processor
US7257670B2 (en) Multipurpose CAM circuit
JP3265226B2 (en) Bank access control method
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
JP3498021B2 (en) Memory control method
EP0500383B1 (en) Data processing system
JP2878160B2 (en) Competitive mediation device
JP2000172552A (en) Memory access device and its method
JP3323142B2 (en) Crossbar device, multi-stage crossbar device, and information processing device
JP2003228512A (en) Data transfer device
JPH03242064A (en) High-capacity memory based on packet switch

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040316