JP3520570B2 - Memory access control device - Google Patents
Memory access control deviceInfo
- Publication number
- JP3520570B2 JP3520570B2 JP18520894A JP18520894A JP3520570B2 JP 3520570 B2 JP3520570 B2 JP 3520570B2 JP 18520894 A JP18520894 A JP 18520894A JP 18520894 A JP18520894 A JP 18520894A JP 3520570 B2 JP3520570 B2 JP 3520570B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- storage element
- holding unit
- memory
- output
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Information Transfer Systems (AREA)
Description
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明はメモリアクセス制御装置
に関し、特に速度緩衝用リングバッファを備えたメモリ
アクセス制御装置に関する。
【0002】
【従来の技術】従来のメモリアクセス制御装置では、速
度緩衝用のバッファにFIFOメモリが使用されていた
が、該FIFOメモリは読出し時にデータそのものをシ
フトする必要が生じ、バッファの容量が大きくなるとデ
ータのシフト量も多くなるため、DRAM等の容量の大
きなメモリに対するバッファとしては不適切であるとい
う問題があった。
【0003】以上のような問題を解決するために、前記
FIFOメモリの代わりにリングバッファを使用したメ
モリアクセス制御装置が提案されている。該メモリアク
セス制御装置のリングバッファは、複数個の記憶単位を
書込み/読出しをそれぞれ別々のポインタによって制御
するものであって、通常主記憶の一部分をこのリングバ
ッファエリアとして使用し、ポインタも含めてすべてソ
フトウェアによって管理されるものである。このような
リングバッファをハードウェアで構成したものが、特開
平5−165603号公報(以下、先行技術とする)に
開示されている。
【0004】次に、前記先行技術を適用したメモリアク
セス制御装置(以下、従来装置とする)について、図4
〜6を参照して説明する。図4は従来装置のリングバッ
ファの概略構成を示すブロック図、図5は記憶素子群5
の概略構成を示すブロック図である。
【0005】図4において、3は図示されていない記憶
制御部からのバッファへのデータの書込みを指示するB
UFWR信号を入力とし、バッファへ現在の書込み位置
を指示する書込みポインタ(以下、WRPとする)、4
はバッファからの読出しを指示するBUFRD信号を入
力とし、バッファへ現在の読出し位置を指示する読出し
ポインタ(以下、RDPとする)であり、該書込み位置
と読出し位置はWRP値とRDP値として出力される。
5は図示されていないバスからのデータdを記憶する複
数個の記憶素子からなる記憶素子群、6は該記憶素子群
5からの複数個のデータからRDPの値により、出力デ
ータを選択するバッファデータ選択部であり、これは例
えばマルチプレクサ(MUX)により構成されている。
7は前記記憶制御部からのBUFRD信号を認識したク
ロックによってバッファデータ選択部6からの出力デー
タをラッチするデータ保持部、例えばD−FFである。
10は前記WRP3、RDP4、記憶素子群5、および
バッファデータ選択部6によって構成されたハードウェ
アによるリングバッファである。
【0006】図5は、N+1個の記憶素子からなる記憶
素子群5の概略構成を示すものであり、各記憶素子は同
一の構成を有しているので、図には記憶素子mのみがこ
れらの代表として、具体的に開示されている。図におい
て、5mは複数の記憶素子のm番目の記憶素子、11は
各記憶素子を区別する記憶素子番号(0〜N)が格納さ
れている記憶素子番号格納部であり、該記憶素子番号は
アドレスデータと対応している。12は該記憶素子番号
と前記WRP3の値とを比較する入力選定部、15はA
NDゲート14からのWRLT信号(書込みラッチ信
号)によってイネーブルにされ、前記バスからのデータ
dをラッチするデータ保持部である。
【0007】次に、図6に示すタイムチャートを参照し
て、従来装置の動作を説明する。まず、図示されていな
いCPUからバスを介して書込みサイクルの起動信号
が、メモリアクセス制御装置に入力されると、記憶制御
部からBUFWR信号がWRP3へ、BUFRD信号が
RDP4およびデータ保持部7へそれぞれ出力される。
最初に、前記WRP3はWRP値=0を記憶素子群5
へ、RDP4はRDP値=0をバッファデータ選択部6
へそれぞれ出力する。
【0008】記憶素子0内の入力選定部12は、WRP
値=0と記憶素子番号0とを比較し、その結果が一致す
ると、ANDゲート14からWRLT信号がデータ保持
部15へ出力され、該データ保持部15はイネーブルと
なり、サイクル“A3”の時のクロック信号の立上がり
でバスからのデータd0をラッチする。次に、前記WR
P3がインクリメントされてWRP値=1になると、記
憶素子1内の入力選定部12から一致信号が出力される
ので、記憶素子1のデータ保持部15はイネーブルとな
り、サイクル“A4”の時のクロック信号の立上がりで
バスからのデータd1をラッチする。
【0009】一方で、サイクル“A4”の時はRDP値
=0であるので、該バッファデータ選択部6は前記記憶
素子0の出力データ線0を選択し、データd0をデータ
保持部7へ出力する。また、該データ保持部7はBUF
RD信号がHレベルの時にイネーブルとなり、前記サイ
クル“A4”の時のクロック信号の立上がりでバッファ
データ選択部6からのデータd0をラッチしてメモリへ
出力する。この時、前記データd1はデータ保持部7へ
出力されず、記憶素子1のデータ保持部15に保持され
ていることになる。
【0010】以上のように、従来のリングバッファを用
いたメモリアクセス装置においては、バスからの最初の
書込みデータd0は、リングバッファへのデータの書込
みに対し、1クロック遅れてメモリへ読み出されるよう
になる。なお、図中のRAS,CAS,WE等は周知の
ようにメモリ(DRAM)内のアドレスを指定し、該ア
ドレスにデ―タを格納する制御信号である。また、AS
はアドレスストローブ信号、ACKはアクノリッジ信号
である。
【0011】
【発明が解決しようとする課題】上記のように、前記メ
モリアクセス装置では、CPUから書込みサイクルの起
動信号を受けると、一旦リングバッファにデータを書込
み、最初のデータが格納されるのを見計らってDRAM
等のメモリへの書込みを行う。この時リングバッファに
データを格納するのに1クロック、また取り出すのに1
クロックかかり、最初のデータd0をDRAMに書き込
むまでに1クロックのデッドサイクルが生じるという問
題がある。
【0012】また、DRAMへの書込みサイクルは、リ
ングバッファ装着時と非装着時とを比較すると1クロッ
ク分タイミングを後にずらさなければならず、書込みサ
イクルの速度劣化が生じる。この様なメモリアクセス制
御装置は、バスからのアクセス速度は向上するが、メモ
リバスへのアクセスは常に遅延した状態になっていると
いう問題もある。
【0013】本発明の目的は、前記した従来技術の問題
点を除去し、主記憶装置の速度緩衝用のリングバッファ
をハードウェアで実現し、バスのスループットを向上さ
せると共に、メモリへのアクセス速度を向上させた効率
の高いメモリアクセス制御装置を提供することにある。
【0014】
【課題を解決するための手段】前記目的を達成するため
に、本発明は、リングバッファ内に設けられた識別可能
に固有の値が付加された複数個の記憶素子と、前記複数
個の記憶素子の中の1つに書込みを指示するライトポイ
ンタと、前記複数個の記憶素子の中の1つに読出しを指
示するリードポインタと、前記記憶素子内に設けられ
た、バスからのデータをラッチする第一のデータ保持
部、および該第一のデータ保持部で保持されたデータあ
るいはスルーした前記データの一方を選択する第一の出
力選択部と、前記記憶素子群から出力されたデータの1
つを選択し、メモリデータとして出力する第2の出力選
択部とを具備した点に特徴がある。
【0015】
【作用】本発明によれば、第1のデータ保持部は、ライ
トポインタによって書込みを指示された時にバスからの
データをラッチし、第一の出力選択部は、前記ライトポ
インタ、記憶素子固有の値およびリードポインタの3者
が一致したときに、前記スルーしたデータを選択し、他
の場合は前記第一のデータ保持部で保持されたデータを
選択するようにしたので、書込みサイクルの起動時に、
記憶素子に対するデータの書込みと読出しとを同一クロ
ック内で実行することが可能になる。また、書込みと読
出しを個々に独立させて動作させることが可能になる。
【0016】
【実施例】以下に図面を参照して本発明のメモリアクセ
ス制御装置の一実施例を詳細に説明する。図1は本発明
のメモリアクセス制御装置の一実施例の概略構成を示す
ブロック図である。
【0017】図1において、1はメモリ9(DRAM)
に対するアドレス信号と、RAS,CAS,WE等の各
制御信号をDRAMの要求するタイミングで生成する記
憶制御部、2は行アドレス(Row address)
と列アドレス(Columnaddress)とを切り
換えるマルチプレクサ(以下、MUXとする)である。
前記WRP3はBUFWR信号が有効な時に入力してく
るクロック信号によりインクリメントされ、またRDP
4はBUFRD信号によりインクリメントされる。ただ
し、WRP3およびRDP4は、それぞれ、2つ目のク
ロック信号およびBUFRD信号からカウントを開始す
るように構成されている。他の符号は前記図4と同一ま
たは同等物を示す。
【0018】次に、前記記憶素子群5の概略の構成を図
2のブロック図を参照して説明する。図2において、1
3は記憶素子番号、WRP3の値およびRDP4の値を
比較する出力選定部、16はデータ保持部15に保持さ
れているデータか、あるいはバス8からのデータを出力
選定部13の比較結果によって選択し、出力する出力デ
ータ選択部であり、例えばMUXにより構成される。1
7は前記データ保持部15を介さずにバス8からのデー
タを出力データ選択部16へ直接転送するスルーデータ
線である。他の符号は前記図5と同一または同等物を示
す。
【0019】次に、図3に示すタイムチャートを参照し
て、本実施例の動作を説明する。まず、CPUからバス
8を介して書込みサイクルの起動信号が、メモリアクセ
ス制御装置に入力されると、記憶制御部1からBUFW
R信号がWRP3へ、BUFRD信号がRDP4および
データ保持部7へそれぞれ出力される。前記WRP3は
WRP値=0を記憶素子群5へ、RDP4はRDP値=
0を該記憶素子群5およびバッファデータ選択部6へそ
れぞれ出力する。
【0020】記憶素子0内の入力選定部12は、WRP
値=0と記憶素子番号0とを比較し、その結果が一致す
ると、ANDゲート14からWRLT信号がデータ保持
部15へ出力され、該データ保持部15はイネーブルと
なり、サイクル“A3”の時のクロック信号の立上がり
でバス8からのデータd0をラッチする。
【0021】一方で、記憶素子0内の出力選定部13
は、WRP値=0、RDP値=0および記憶素子番号0
とを比較し、その結果が一致すると、出力データ選択部
16はスルーデータ線17を選択し、バス8からのデー
タd0をバッファデータ選択部6へ出力する。この時、
バッファデータ選択部6はRDP値=0であるので、記
憶素子0の出力データ線0を選択しており、該記憶素子
0からのデータd0を出力している。また、該データ保
持部7はBUFRD信号がHレベルの時にイネーブルと
なり、前記サイクル“A3”の時のクロック信号の立上
がりでバッファデータ選択部6からのデータd0をラッ
チしてメモリ9へ出力する。
【0022】以上のようにして、本実施例では、サイク
ル“A3”の時のクロック信号の立上がりのタイミング
で、データd0をリングバッファ10に書き込むと同時
にメモリ9へ出力することができる。
【0023】次に、前記WRP3がインクリメントされ
てWRP値=1になると、記憶素子1内の入力選定部1
2から一致信号が出力され、前記記憶素子0の時と同様
にデータ保持部15はイネーブルとなり、サイクル“A
4”の時のクロック信号の立上がりでバス8からのデー
タd1をラッチする。この時、BUFRD信号はLレベ
ルにあるので、データ保持部7はディセーブルであり、
新たなデータをラッチすることはない。
【0024】次に、前記WRP3がインクリメントされ
てWRP値=2になると、記憶素子2内の入力選定部1
2から一致信号が出力され、前記記憶素子0,1の時と
同様にデータ保持部15はイネーブルとなり、サイクル
“A5”の時のクロック信号の立上がりでバス8からの
データd2をラッチする。
【0025】一方で、前記RDP4がインクリメントさ
れてRDP値=1となり、バッファデータ選択部6は記
憶素子1の出力データを選択する。この時、記憶素子1
内の出力選定部13は、WRP値=2、RDP値=1お
よび記憶素子番号1を比較する。この結果は不一致にな
るので、出力データ選択部16はデータ保持部15を選
択し、データ保持部15内に保持されたデータd1をバ
ッファデータ選択部6へ出力する。また、この時BUF
RD信号はHレベルとなっているので該データ保持部7
はイネーブルとなり、前記サイクル“A5”の時のクロ
ック信号の立上がりでバッファデータ選択部6からのデ
ータd1をラッチしてメモリ9へ出力する。以後は、前
記と同様の動作が行われるので、説明を省略する。
【0026】以上のように、本実施例によれば、書込み
サイクルの最初のデータ対しては、データ保持部15に
保持すると共に、バス8からのデータをそのままメモリ
9へ出力することができる。また、2番目以降のデータ
に対しては、WRP値がインクリメントされるのに合わ
せて、該WRP値と一致する記憶素子番号を持った記憶
素子内のデータ保持部15に、バス8からのデータを順
次書き込み、BUFRD信号がHレベルになるタイミン
グに合わせて、バッファデ―タ選択部6によって選択さ
れた記憶素子からのデ―タをメモリ9へ出力することが
できる。
【0027】
【発明の効果】以上の説明から明らかなように、本発明
によれば、書込みサイクル起動時は記憶素子に対してデ
ータの書込みと読出しとを同一クロック内で実行でき
る。このため、デッドサイクルが生じず、書込みサイク
ル起動時の初期の速度劣化を防止することができる。
【0028】また、書込みと読出しを個々に独立させて
動作させることができる。このため、書込みと読出しの
動作を同時または並行して行うことができ、メモリへの
アクセスタイムを損なうことなくバッファリングによる
バススループットを向上させることができる。
【0029】また、バッファの記憶素子の個数が増加し
ても、回路の増加量は線形に増加するだけで、極端に複
雑化することが無いので、リングバッファの記憶容量を
容易に増加させることができる。Description: BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a memory access control device, and more particularly to a memory access control device having a speed buffering ring buffer. 2. Description of the Related Art In a conventional memory access control device, a FIFO memory is used as a buffer for speed buffering. However, the FIFO memory needs to shift data itself at the time of reading, and the capacity of the buffer becomes small. As the size increases, the amount of data shift also increases, so that there is a problem that it is unsuitable as a buffer for a memory having a large capacity such as a DRAM. In order to solve the above problems, a memory access control device using a ring buffer instead of the FIFO memory has been proposed. The ring buffer of the memory access control device controls writing / reading of a plurality of storage units by separate pointers, and usually uses a part of the main storage as the ring buffer area and includes a pointer. Everything is managed by software. A hardware configuration of such a ring buffer is disclosed in Japanese Patent Application Laid-Open No. 5-165603 (hereinafter referred to as prior art). Next, a memory access control device (hereinafter, referred to as a conventional device) to which the above-mentioned prior art is applied is shown in FIG.
This will be described with reference to FIGS. FIG. 4 is a block diagram showing a schematic configuration of a ring buffer of a conventional device, and FIG.
FIG. 2 is a block diagram showing a schematic configuration of the embodiment. In FIG. 4, reference numeral 3 designates B for instructing data writing from a storage control unit (not shown) to the buffer.
A write pointer (hereinafter referred to as WRP) for inputting a UFWR signal and indicating a current write position to a buffer;
Is a read pointer (hereinafter referred to as RDP) for inputting a BUFRD signal for instructing reading from the buffer and for indicating a current read position to the buffer, and the write position and the read position are output as a WRP value and an RDP value. You.
Reference numeral 5 denotes a storage element group including a plurality of storage elements for storing data d from a bus (not shown), and reference numeral 6 denotes a buffer for selecting output data from the plurality of data from the storage element group 5 based on an RDP value. This is a data selection unit, which is constituted by, for example, a multiplexer (MUX).
Reference numeral 7 denotes a data holding unit, for example, a D-FF, which latches output data from the buffer data selection unit 6 in response to a clock that recognizes the BUFRD signal from the storage control unit.
Reference numeral 10 denotes a hardware ring buffer constituted by the WRP 3, the RDP 4, the storage element group 5, and the buffer data selection unit 6. FIG. 5 shows a schematic configuration of a storage element group 5 composed of N + 1 storage elements. Since each storage element has the same configuration, only the storage element m is shown in FIG. Are specifically disclosed. In the figure, 5m is an m-th storage element of a plurality of storage elements, 11 is a storage element number storage unit storing storage element numbers (0 to N) for distinguishing each storage element, and the storage element number is Corresponds to address data. 12 is an input selector for comparing the storage element number with the value of the WRP3;
A data holding unit that is enabled by a WRLT signal (write latch signal) from the ND gate 14 and latches data d from the bus. Next, the operation of the conventional device will be described with reference to a time chart shown in FIG. First, when a write cycle start signal is input from the CPU (not shown) to the memory access control device via the bus, the BUFWR signal is sent from the storage control unit to the WRP3, and the BUFRD signal is sent to the RDP4 and the data holding unit 7, respectively. Is output.
First, the WRP3 stores the WRP value = 0 in the storage element group 5
The RDP 4 sets the RDP value = 0 to the buffer data selection unit 6
Output to The input selection unit 12 in the storage element 0
The value = 0 is compared with the storage element number 0. If the result matches, the WRLT signal is output from the AND gate 14 to the data holding unit 15, and the data holding unit 15 is enabled, and the data holding unit 15 is enabled in the cycle "A3". Data d0 from the bus is latched at the rise of the clock signal. Next, the WR
When P3 is incremented and the WRP value becomes 1, a match signal is output from the input selection unit 12 in the storage element 1, so that the data holding unit 15 of the storage element 1 is enabled, and the clock in the cycle "A4" The data d1 from the bus is latched at the rise of the signal. On the other hand, in the cycle “A4”, since the RDP value = 0, the buffer data selecting section 6 selects the output data line 0 of the storage element 0 and outputs the data d0 to the data holding section 7. I do. Further, the data holding unit 7 stores the BUF
It is enabled when the RD signal is at the H level, and latches the data d0 from the buffer data selection unit 6 at the rising edge of the clock signal in the cycle “A4” and outputs it to the memory. At this time, the data d1 is not output to the data holding unit 7, but is held in the data holding unit 15 of the storage element 1. As described above, in the conventional memory access device using the ring buffer, the first write data d0 from the bus is read to the memory with a delay of one clock from the data write to the ring buffer. become. RAS, CAS, WE, and the like in the figure are control signals for designating an address in a memory (DRAM) and storing data at the address, as is well known. Also, AS
Is an address strobe signal, and ACK is an acknowledge signal. As described above, in the memory access device, upon receiving a write cycle start signal from the CPU, data is temporarily written to the ring buffer and the first data is stored. DRAM in anticipation
Etc. are written to the memory. At this time, one clock is used to store data in the ring buffer, and one clock is used to retrieve data.
There is a problem in that it takes a clock and a dead cycle of one clock occurs before the first data d0 is written to the DRAM. In addition, the write cycle to the DRAM must be shifted by one clock later in comparison with the time when the ring buffer is mounted and the time when the ring buffer is not mounted, and the speed of the write cycle is deteriorated. Such a memory access control device improves the access speed from the bus, but has a problem that the access to the memory bus is always delayed. SUMMARY OF THE INVENTION It is an object of the present invention to eliminate the above-mentioned problems of the prior art, to realize a ring buffer for speed buffering of a main storage device by hardware, to improve a bus throughput, and to improve a memory access speed. It is an object of the present invention to provide a high-efficiency memory access control device in which the above is improved. [0014] In order to achieve the above object, the present invention provides a plurality of storage elements provided in a ring buffer, each of which is provided with an identifiable unique value, A write pointer instructing one of the plurality of storage elements to write, a read pointer instructing one of the plurality of storage elements to read, and a bus provided in the storage element from a bus. A first data holding unit that latches data, a first output selection unit that selects one of the data held by the first data holding unit or the data that has passed through, and a data output from the storage element group. Data 1
And a second output selecting section for selecting one of the two and outputting the selected data as memory data. According to the present invention, the first data holding unit latches data from the bus when the writing is instructed by the write pointer, and the first output selecting unit stores the write pointer and the storage. When the element-specific value and the read pointer match, the through data is selected, and in other cases, the data held by the first data holding unit is selected. When launching,
Writing and reading of data to and from the storage element can be performed within the same clock. In addition, it becomes possible to operate writing and reading independently. An embodiment of the memory access control device according to the present invention will be described below in detail with reference to the drawings. FIG. 1 is a block diagram showing a schematic configuration of an embodiment of the memory access control device of the present invention. In FIG. 1, reference numeral 1 denotes a memory 9 (DRAM)
, And a storage control unit that generates control signals such as RAS, CAS, and WE at a timing required by the DRAM, and a row address (Row address)
And a column address (Column address).
The WRP3 is incremented by a clock signal input when the BUFWR signal is valid.
4 is incremented by the BUFRD signal. However, the WRP3 and the RDP4 are configured to start counting from the second clock signal and the BUFRD signal, respectively. Other symbols indicate the same or equivalent components as those in FIG. Next, the schematic configuration of the storage element group 5 will be described with reference to the block diagram of FIG. In FIG. 2, 1
Reference numeral 3 denotes an output selection unit for comparing the storage element number, the value of WRP3 and the value of RDP4, and reference numeral 16 denotes data stored in the data storage unit 15 or data from the bus 8 according to the comparison result of the output selection unit 13. And an output data selection unit for outputting the data. 1
Reference numeral 7 denotes a through data line for directly transferring data from the bus 8 to the output data selection unit 16 without passing through the data holding unit 15. Other symbols indicate the same or equivalent components as those in FIG. Next, the operation of the present embodiment will be described with reference to a time chart shown in FIG. First, when a start signal of a write cycle is input from the CPU via the bus 8 to the memory access control device, the storage control unit 1 transmits data to the BUFFW.
The R signal is output to WRP3, and the BUFRD signal is output to RDP4 and data holding unit 7, respectively. The WRP3 sets the WRP value = 0 to the storage element group 5, and the RDP4 sets the RDP value =
0 is output to the storage element group 5 and the buffer data selection unit 6, respectively. The input selection unit 12 in the storage element 0
The value = 0 is compared with the storage element number 0. If the result matches, the WRLT signal is output from the AND gate 14 to the data holding unit 15, and the data holding unit 15 is enabled, and the data holding unit 15 is enabled in the cycle "A3". Data d0 from bus 8 is latched at the rise of the clock signal. On the other hand, the output selector 13 in the storage element 0
Are: WRP value = 0, RDP value = 0, and storage element number 0
And if the results match, the output data selection unit 16 selects the through data line 17 and outputs the data d0 from the bus 8 to the buffer data selection unit 6. At this time,
Since the RDP value = 0, the buffer data selection unit 6 selects the output data line 0 of the storage element 0, and outputs the data d0 from the storage element 0. The data holding unit 7 is enabled when the BUFRD signal is at the H level, latches the data d0 from the buffer data selection unit 6 at the rise of the clock signal in the cycle “A3”, and outputs the data d0 to the memory 9. As described above, in this embodiment, the data d0 can be simultaneously written to the ring buffer 10 and output to the memory 9 at the timing of the rising edge of the clock signal in the cycle "A3". Next, when the WRP3 is incremented to a WRP value = 1, the input selector 1 in the storage element 1
2, a match signal is output, and the data holding unit 15 is enabled as in the case of the storage element 0, and the cycle "A"
The data d1 from the bus 8 is latched at the rise of the clock signal at the time of 4 ". At this time, since the BUFRD signal is at the L level, the data holding unit 7 is disabled.
No new data is latched. Next, when the WRP3 is incremented to a WRP value = 2, the input selection unit 1 in the storage element 2
2, the data holding unit 15 is enabled as in the case of the storage elements 0 and 1, and the data d2 from the bus 8 is latched at the rise of the clock signal in the cycle "A5". On the other hand, the RDP 4 is incremented so that the RDP value becomes 1, and the buffer data selecting section 6 selects the output data of the storage element 1. At this time, the storage element 1
Output selection unit 13 compares WRP value = 2, RDP value = 1, and storage element number 1. Since the results do not match, the output data selecting unit 16 selects the data holding unit 15 and outputs the data d1 held in the data holding unit 15 to the buffer data selecting unit 6. At this time, BUF
Since the RD signal is at the H level, the data holding unit 7
Is enabled, and the data d1 from the buffer data selection unit 6 is latched and output to the memory 9 at the rise of the clock signal in the cycle "A5". Thereafter, since the same operation as described above is performed, the description is omitted. As described above, according to this embodiment, the first data in the write cycle can be held in the data holding unit 15 and the data from the bus 8 can be output to the memory 9 as it is. For the second and subsequent data, the data from the bus 8 is stored in the data holding unit 15 in the storage element having the storage element number that matches the WRP value as the WRP value is incremented. Are sequentially written, and the data from the storage element selected by the buffer data selection unit 6 can be output to the memory 9 at the timing when the BUFRD signal becomes H level. As is apparent from the above description, according to the present invention, at the time of starting a write cycle, data can be written to and read from a storage element within the same clock. Therefore, a dead cycle does not occur, and it is possible to prevent an initial speed degradation at the time of starting a write cycle. In addition, writing and reading can be operated independently of each other. Therefore, the write and read operations can be performed simultaneously or in parallel, and the bus throughput by buffering can be improved without impairing the access time to the memory. Also, even if the number of storage elements in the buffer increases, the amount of increase in the circuit only increases linearly and does not become extremely complicated, so that the storage capacity of the ring buffer can be easily increased. Can be.
【図面の簡単な説明】
【図1】 本発明のメモリアクセス制御装置の一実施例
の概略構成を示すブロック図である。
【図2】 一実施例の記憶素子群の概略構成を示すブロ
ック図である。
【図3】 一実施例の動作を説明するためのタイムチャ
ートである。
【図4】 従来装置のリングバッファの概略構成を示す
ブロック図である。
【図5】 従来装置の記憶素子群の概略構成を示すブロ
ック図である。
【図6】 従来技術の動作を説明するためのタイムチャ
ートである。
【符号の説明】
1…記憶制御部、2…マルチプレクサ、3…書込みポイ
ンタ、4…読出しポインタ、5…記憶素子群、6…バッ
ファデータ選択部、7,15…データ保持部、8…バ
ス、9…メモリ、10…リングバッファ、11…記憶素
子番号格納部、12…入力選定部、13…出力選定部、
16…出力データ選択部。BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 is a block diagram showing a schematic configuration of an embodiment of a memory access control device of the present invention. FIG. 2 is a block diagram illustrating a schematic configuration of a storage element group according to one embodiment. FIG. 3 is a time chart for explaining the operation of one embodiment. FIG. 4 is a block diagram showing a schematic configuration of a ring buffer of a conventional device. FIG. 5 is a block diagram illustrating a schematic configuration of a storage element group of a conventional device. FIG. 6 is a time chart for explaining the operation of the conventional technique. [Description of Symbols] 1 ... storage control unit, 2 ... multiplexer, 3 ... write pointer, 4 ... read pointer, 5 ... storage element group, 6 ... buffer data selection unit, 7, 15 ... data holding unit, 8 ... bus, 9 memory, 10 ring buffer, 11 storage element number storage unit, 12 input selection unit, 13 output selection unit,
16 output data selection unit
Claims (1)
スからのメモリへのアクセス要求に応答してメモリを制
御するメモリアクセス制御装置において、 前記リングバッファ内に設けられた識別可能に固有の値
が付加された複数個の記憶素子と、 前記複数個の記憶素子の中の1つに書込みを指示するラ
イトポインタと、 前記複数個の記憶素子の中の1つに読出しを指示するリ
ードポインタと、 前記記憶素子内に設けられた、バスからのデータをラッ
チする第一のデータ保持部、および該第一のデータ保持
部で保持されたデータあるいはスルーした前記データの
一方を選択する第一の出力選択部と、 前記記憶素子群から出力されたデータの1つを選択し、
メモリデータとして出力する第2の出力選択部とを具備
し、 前記第一のデータ保持部は、前記ライトポインタによっ
て書込みを指示された時にバスからのデータをラッチ
し、前記第一の出力選択部は、前記ライトポインタ、記
憶素子固有の値およびリードポインタの3者が一致した
ときに、前記スルーしたデータを選択し、他の場合は前
記第一のデータ保持部で保持されたデータを選択するよ
うにしたことを特徴とするメモリアクセス制御装置。(57) A memory access control device comprising a ring buffer for speed buffering and controlling a memory in response to a request for access to the memory from a bus, wherein: A plurality of storage elements provided with an identifiable unique value provided; a write pointer for instructing one of the plurality of storage elements to write; and one of the plurality of storage elements A read pointer for instructing a read, a first data holding unit provided in the storage element, for latching data from a bus, and the data held by the first data holding unit or the through data. A first output selection unit for selecting one of the data, and selecting one of the data output from the storage element group,
A second output selection unit for outputting as memory data, wherein the first data holding unit latches data from a bus when writing is instructed by the write pointer, and the first output selection unit Selects the passed data when the write pointer, the storage element-specific value, and the read pointer match, and otherwise selects the data held by the first data holding unit. A memory access control device characterized by having such a configuration.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18520894A JP3520570B2 (en) | 1994-07-15 | 1994-07-15 | Memory access control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP18520894A JP3520570B2 (en) | 1994-07-15 | 1994-07-15 | Memory access control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0830434A JPH0830434A (en) | 1996-02-02 |
JP3520570B2 true JP3520570B2 (en) | 2004-04-19 |
Family
ID=16166768
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP18520894A Expired - Fee Related JP3520570B2 (en) | 1994-07-15 | 1994-07-15 | Memory access control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3520570B2 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4592944B2 (en) * | 2000-12-19 | 2010-12-08 | Necエンジニアリング株式会社 | CPU interface circuit |
JP2008008784A (en) | 2006-06-29 | 2008-01-17 | Sakura Color Prod Corp | Ink composition for detecting dissolved ozone and dissolved ozone detection method |
-
1994
- 1994-07-15 JP JP18520894A patent/JP3520570B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH0830434A (en) | 1996-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7260015B2 (en) | Memory device and method having multiple internal data buses and memory bank interleaving | |
EP0978842B1 (en) | Synchronous burst semiconductor memory device | |
US6484246B2 (en) | High-speed random access semiconductor memory device | |
KR930004426B1 (en) | Dual-port memory and its fabrication method | |
US20070055832A1 (en) | Method and system for fast data access using a memory array | |
US6507899B1 (en) | Interface for a memory unit | |
JP4618758B2 (en) | Method for driving quad data rate synchronous semiconductor memory device | |
US6360307B1 (en) | Circuit architecture and method of writing data to a memory | |
KR100317542B1 (en) | Semiconductor memory device | |
JP3520570B2 (en) | Memory access control device | |
US7581072B2 (en) | Method and device for data buffering | |
US6487140B2 (en) | Circuit for managing the transfer of data streams from a plurality of sources within a system | |
US5946707A (en) | Interleaved burst XOR using a single memory pointer | |
US20090235010A1 (en) | Data processing circuit, cache system, and data transfer apparatus | |
JPH10340596A (en) | Data storage device and semiconductor memory | |
JPH076093A (en) | Storage controller | |
JPH05210572A (en) | Memory controller | |
US6222793B1 (en) | Memory devices having a restore start address counter | |
JP3222647B2 (en) | Automatic memory bank switching system | |
JPS6244352B2 (en) | ||
JP2550493B2 (en) | I / O controller | |
JPH10105457A (en) | Memory control system and memory control circuitt | |
JPH06103148A (en) | Write buffer | |
JPH1063569A (en) | Main memory data writing device | |
JPH0477948A (en) | Memory access control system and information processor using the system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040113 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040126 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090213 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100213 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110213 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120213 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130213 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130213 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140213 Year of fee payment: 10 |
|
LAPS | Cancellation because of no payment of annual fees |