JP4220351B2 - Integrated circuit and method capable of simultaneously executing data reading operation and writing operation - Google Patents

Integrated circuit and method capable of simultaneously executing data reading operation and writing operation Download PDF

Info

Publication number
JP4220351B2
JP4220351B2 JP2003366262A JP2003366262A JP4220351B2 JP 4220351 B2 JP4220351 B2 JP 4220351B2 JP 2003366262 A JP2003366262 A JP 2003366262A JP 2003366262 A JP2003366262 A JP 2003366262A JP 4220351 B2 JP4220351 B2 JP 4220351B2
Authority
JP
Japan
Prior art keywords
address
memory block
read
write
cache memory
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
Application number
JP2003366262A
Other languages
Japanese (ja)
Other versions
JP2004146051A (en
Inventor
孫教民
徐英豪
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co 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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2004146051A publication Critical patent/JP2004146051A/en
Application granted granted Critical
Publication of JP4220351B2 publication Critical patent/JP4220351B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/30Providing cache or TLB in specific location of a processing system
    • G06F2212/304In main memory subsystem
    • G06F2212/3042In main memory subsystem being part of a memory device, e.g. cache DRAM
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2245Memory devices with an internal cache buffer
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2281Timing of a read operation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/229Timing of a write operation

Description

本発明は、集積回路に係り、特に入出力ポートが分離された集積回路においてデータ読取り動作と書き込み動作とを同時に実行可能な集積回路及び方法に関する。   The present invention relates to an integrated circuit, and more particularly to an integrated circuit and a method capable of simultaneously executing a data read operation and a write operation in an integrated circuit with separated input / output ports.

一般的な同期式RAM(Synchronous RAM:SRAM)は、1つのクロック周期毎に読取りデータまたは書き込みデータのうち何れか1つだけを伝送できる。   A general synchronous RAM (SRAM) can transmit only one of read data and write data every clock cycle.

二重データ率RAM(Double Data Rate RAM:DRAM)は、クロックの立上がりエッジと立下りエッジ毎にデータを伝送することによってデータ伝送率を倍増させた。しかし、一般的なメモリ装置はデータの入力とデータの出力とが1つのピンを通じて行われる。共通入出力ポートを利用する方法は、データの入力と出力とが独立して制御されないので、データの入力周波数と出力周波数とが制限される。   A double data rate RAM (DRAM) doubles the data transmission rate by transmitting data at each rising and falling edge of the clock. However, in a general memory device, data input and data output are performed through one pin. In the method using the common input / output port, the data input frequency and output frequency are limited because the data input and output are not controlled independently.

メモリ装置の帯域幅が重要になったことに対応して、分離された入出力ポートを使用する製品が登場した。すなわち、データの入力と出力とが独立して制御できるように入力ピンと出力ピンとが分離された製品である。分離された入力ピンと出力ピンとを有するメモリ装置は、クロックの1周期内に読み取り命令及び読み取りアドレス、又は、書き込み命令及び書き込みアドレス及び書き込みデータを共に受信できるので、動作周波数を増加させうる。   In response to the increased bandwidth of memory devices, products that use separate I / O ports have emerged. That is, the input pin and the output pin are separated so that data input and output can be controlled independently. A memory device having separate input pins and output pins can receive both a read command and a read address, or a write command, a write address, and write data within one cycle of the clock, so that the operating frequency can be increased.

しかし、分離された入出力ポートを有するメモリ装置でも1つのクロック周期内で読み取り命令及び読み取りアドレス、又は、書き込み命令及び書き込みアドレス及び書き込みデータを受信する場合、読み取り動作と書き込み動作とが1つのクロック周期内に実行されるためには、2回のメモリセルアクセスが実行されなければならない。   However, even in a memory device having a separate input / output port, when a read command and a read address or a write command and a write address and write data are received within one clock cycle, the read operation and the write operation are performed with one clock. In order to be executed within a cycle, two memory cell accesses must be executed.

すなわち、データの読み取りと書き込みとのためのワードラインの活性化がクロックの1周期内において2回実行されなければならないので、クロック周波数がワードラインの活性化時間によって制限される問題がある。   That is, the activation of the word line for reading and writing data must be executed twice in one cycle of the clock, so that the clock frequency is limited by the activation time of the word line.

図1は、分離された入出力ポートを有するメモリ装置の動作を説明するタイミング図である。   FIG. 1 is a timing diagram illustrating an operation of a memory device having separated input / output ports.

アドレスとワードラインとの間の関係や入力データ及び出力データのレイテンシ(latency)はメモリ装置の回路構成によって変わるので、図1では考慮されない。   Since the relationship between the address and the word line and the latency of the input data and output data vary depending on the circuit configuration of the memory device, they are not considered in FIG.

図1を参照すれば、クロック信号CLKの1周期内で書き込みアドレスWADDと読み取りアドレスRADDとが共に入力されている。クロック信号CLKの立上がりエッジで入力されるアドレスA0、A2、A4、A6が読み取りアドレスRADDであり、クロック信号CLKの立下りエッジで入力されるアドレスA1、A3、A5、A7が書き込みアドレスWADDである。   Referring to FIG. 1, both the write address WADD and the read address RADD are input within one cycle of the clock signal CLK. Addresses A0, A2, A4, A6 input at the rising edge of the clock signal CLK are read addresses RADD, and addresses A1, A3, A5, A7 input at the falling edge of the clock signal CLK are write addresses WADD. .

RESとWESは、それぞれ読取りアドレスRADDと書き込みアドレスWADDとを選択する読み取り選択信号及び書き込み選択信号である。   RES and WES are a read selection signal and a write selection signal for selecting a read address RADD and a write address WADD, respectively.

読み取りアドレスRADD=A0によってワードラインAWL0が活性化され、ワードラインAWL0に応答してデータQ0が出力される。また、書き込みアドレスWADD=A1に応答してワードラインAWL1が活性化されれば、入力データD1が入力される。   The word line AWL0 is activated by the read address RADD = A0, and data Q0 is output in response to the word line AWL0. If the word line AWL1 is activated in response to the write address WADD = A1, the input data D1 is input.

したがって、読み取り動作のためのワードラインAWL0と書き込み動作のためのワードラインAWL1との活性化のためにクロック信号CLKの1周期の長さが制限される。すなわち、クロック信号の1周期の間にそれぞれ異なるアドレスを有するメモリセルに順次にアクセスしなければならないので、クロック信号CLKの周期を縮め難い問題がある。   Therefore, the length of one cycle of the clock signal CLK is limited to activate the word line AWL0 for the read operation and the word line AWL1 for the write operation. That is, since it is necessary to sequentially access memory cells having different addresses during one cycle of the clock signal, there is a problem that it is difficult to shorten the cycle of the clock signal CLK.

本発明が解決しようとする技術的課題は、クロック信号の1周期内でメモリセルについての読み取り動作及び書き込み動作を同時に実行させることによってクロック信号の動作周波数を増加させうる集積回路を提供するところにある。   A technical problem to be solved by the present invention is to provide an integrated circuit capable of increasing the operating frequency of a clock signal by simultaneously executing a read operation and a write operation on a memory cell within one cycle of the clock signal. is there.

本発明が解決しようとする他の技術的課題は、クロック信号の1周期内でメモリセルについての読み取り動作及び書き込み動作を同時に実行させることによってクロック信号の動作周波数を増加させうる方法を提供するところにある。   Another technical problem to be solved by the present invention is to provide a method capable of increasing the operating frequency of a clock signal by simultaneously executing a read operation and a write operation on a memory cell within one cycle of the clock signal. It is in.

前記技術的課題を達成するための本発明の第1実施例による集積回路は、入出力ポートが分離されており、クロック信号の1周期の間に書き込みアドレスと読み取りアドレスとが入力される集積回路において、複数のサブメモリブロックをそれぞれ具備するメモリブロック、前記メモリブロックに対応するキャッシュメモリブロック及びタグメモリ制御部を具備する。   In an integrated circuit according to a first embodiment of the present invention for achieving the above technical problem, an input / output port is separated and a write address and a read address are input during one cycle of a clock signal. The memory block includes a plurality of sub memory blocks, a cache memory block corresponding to the memory block, and a tag memory control unit.

タグメモリ制御部は、前記書き込みアドレスまたは前記読み取りアドレスに応答して前記メモリブロック及び前記キャッシュメモリブロックに格納されたデータを読み取るか前記メモリブロック及び前記キャッシュメモリブロックに前記データを書き込む。   The tag memory control unit reads data stored in the memory block and the cache memory block in response to the write address or the read address, or writes the data to the memory block and the cache memory block.

特に、タグメモリ制御部は、前記書き込みアドレス及び前記読み取りアドレスが同じである場合に、前記データの読み取り動作と書き込み動作とが前記メモリブロックと前記キャッシュメモリブロックにそれぞれ分けられて同時に実行されるように制御することを特徴とする。   In particular, the tag memory control unit may execute the data read operation and the write operation separately for the memory block and the cache memory block, when the write address and the read address are the same. It is characterized by controlling to.

前記書き込みアドレス及び前記読み取りアドレスが異なる場合、前記それぞれの書き込み及び読み取りアドレスに対応する相異なる2個のサブメモリブロックがそれぞれデコーディングされる。   When the write address and the read address are different, two different sub memory blocks corresponding to the respective write and read addresses are respectively decoded.

前記集積回路は、相互分離されている書き込みアドレスデコーディングパスと読み取りアドレスデコーディングパスとを具備し、前記サブメモリブロックは、前記書き込みアドレスデコーディングパスと前記読み取りアドレスデコーディングパスとにそれぞれ連結される。   The integrated circuit includes a write address decoding path and a read address decoding path which are separated from each other, and the sub memory block is connected to the write address decoding path and the read address decoding path, respectively. The

メモリブロック内部の相異なるサブメモリブロックのうち同じ下位アドレスを有するメモリセルは、前記キャッシュメモリブロックの1つのメモリセルに対応する。前記キャッシュメモリブロックのサイズは、前記1つのサブメモリブロックのサイズと同じか、それより大きい。   A memory cell having the same lower address among different sub-memory blocks in the memory block corresponds to one memory cell of the cache memory block. The size of the cache memory block is equal to or larger than the size of the one sub memory block.

前記タグメモリ制御部は、前記キャッシュメモリブロックに対応する前記サブメモリブロックのアドレスを表すキャッシュメモリアドレス及び前記キャッシュメモリブロックに格納されているデータが有効であるかどうかを判断する有効判断情報を格納する。   The tag memory control unit stores a cache memory address indicating an address of the sub memory block corresponding to the cache memory block and validity determination information for determining whether or not data stored in the cache memory block is valid. To do.

前記タグメモリ制御部は、前記サブメモリブロックのうち1つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相等しい場合、前記書き込みアドレス及び前記読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行し、前記読み取り動作及び前記書き込み動作が同時に実行される。   When the upper address of the write address that selects one of the sub memory blocks is equal to the upper address of the read address, the tag memory control unit determines that both the write address and the read address are the cache memory. If it is not the same as the address, a read operation is executed in the memory block corresponding to the read address, a write operation is executed in the cache memory block, and the read operation and the write operation are executed simultaneously.

前記タグメモリ制御部は、前記サブメモリブロックのうち1つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスが相等しい場合、前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作が前記キャッシュメモリブロックで実行されて、一致しないアドレスに対応する動作が前記メモリブロックで実行される。   The tag memory control unit may select one of the write address and the read address when the upper address of the write address and the upper address of the read address that select one of the sub memory blocks are equal to each other. If the address matches, the operation corresponding to the address that matches the cache memory address is executed in the cache memory block, and the operation corresponding to the address that does not match is executed in the memory block.

前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作が実行され、前記メモリブロックで書き込み動作が実行されて前記読み取り動作及び前記書き込み動作が同時に実行される。   If both the write address and the read address match the cache memory address, a read operation is executed in the cache memory block, a write operation is executed in the memory block, and the read operation and the write operation are executed simultaneously. The

前記タグメモリ制御部は、前記サブメモリブロックのうち1つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相異なる場合、前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作が前記キャッシュメモリブロックで実行され、一致しないアドレスに対応する動作が前記メモリブロックで実行される。   When the upper address of the write address that selects one of the sub memory blocks is different from the upper address of the read address, the tag memory control unit determines that one of the write address and the read address is the cache If it matches the memory address, the operation corresponding to the address that matches the cache memory address is executed in the cache memory block, and the operation corresponding to the address that does not match is executed in the memory block.

前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作が実行され、前記メモリブロックで書き込み動作が実行される。   If both the write address and the read address match the cache memory address, a read operation is executed in the cache memory block, and a write operation is executed in the memory block.

前記書き込みアドレス及び前記読み取りアドレスが全て前記キャッシュメモリアドレスと一致しないと、前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作が実行され、前記読み取り動作及び前記書き込み動作が同時に実行される。   If the write address and the read address do not all match the cache memory address, a write operation and a read operation are executed in different sub memory blocks corresponding to the write address and the read address among the selected memory blocks. The read operation and the write operation are performed simultaneously.

前記データは、単一データ率(Single Data Rate:SDR)または二重データ率(Double Data Rate:DDR)で入力または出力される。   The data is input or output at a single data rate (SDR) or a double data rate (DDR).

前記技術的課題を達成するための本発明の第2実施例に集積回路は、入出力ポートが分離されている集積回路において複数のサブメモリブロックをそれぞれ具備するメモリブロック、キャッシュメモリブロック、デコーディング部及びタグメモリ制御部を具備する。   According to a second embodiment of the present invention for achieving the above technical problem, an integrated circuit includes a memory block, a cache memory block, and a decoding block each having a plurality of sub memory blocks in an integrated circuit in which input / output ports are separated. And a tag memory control unit.

キャッシュメモリブロックは、前記それぞれのメモリブロックに対応し、所定のキャッシュ制御信号に応答して格納されたデータが出力されるか、またはデータが書き込まれる。デコーディング部は、前記それぞれのメモリブロックに対応し、書き込みアドレスまたは読み取りアドレス、所定のデコーディング制御信号に応答して前記サブメモリブロックを制御するデコーディング信号を発生する。   The cache memory block corresponds to each memory block, and stored data is output or written in response to a predetermined cache control signal. The decoding unit generates a decoding signal corresponding to each memory block and controlling the sub memory block in response to a write address or a read address and a predetermined decoding control signal.

タグメモリ制御部は、書き込み選択信号または読み取り選択信号、前記書き込みアドレスまたは前記読み取りアドレスを受信し、クロック信号の1周期の間に入力される前記書き込みアドレスと前記読み取りアドレスとが同一であるかによって前記データの書き込み動作及び読み取り動作が同時に実行されるように前記キャッシュ制御信号または前記デコーディング制御信号を発生する。   The tag memory control unit receives the write selection signal or the read selection signal, the write address or the read address, and determines whether the write address and the read address input during one cycle of the clock signal are the same. The cache control signal or the decoding control signal is generated so that the data write operation and the data read operation are executed simultaneously.

前記デコーディング部は、それぞれ前記サブメモリブロックに対応する複数のデコーディング回路を具備する。前記デコーディング回路は相互分離されている書き込みアドレスデコーディングパス及び読み取りアドレスデコーディングパスと連結し、前記サブメモリブロックは前記書き込みアドレスデコーディングパスと前記読み取りアドレスデコーディングパスとにそれぞれ連結する。   The decoding unit includes a plurality of decoding circuits each corresponding to the sub memory block. The decoding circuit is connected to a write address decoding path and a read address decoding path which are separated from each other, and the sub memory block is connected to the write address decoding path and the read address decoding path, respectively.

前記他の技術的課題を達成するための本発明の第1実施例によるデータ読み取り動作と書き込み動作とを同時に実行する方法は、入出力ポートが分離されており、クロック信号の1周期の間に書き込みアドレスと読み取りアドレスとが入力され、複数のサブメモリブロックをそれぞれ具備する複数のメモリブロックと、前記メモリブロックに対応するキャッシュメモリブロックを具備する集積回路のデータ読み取り動作と書き込み動作とを同時に実行する方法において、(a)クロック信号の1周期の間に前記書き込みアドレスと前記読み取りアドレスとが全て入力されているか、前記書き込みアドレス及び前記読み取りアドレスのうち何れか1つだけ入力されているかを判断する段階、(b)前記書き込みアドレスと前記読み取りアドレスが全て入力されれば、前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一であるかを判断する段階、(c)前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスが同一であれば、前記書き込みアドレスと前記読み取りアドレスとが所定のキャッシュメモリアドレスと同一であるかを判断する段階、及び、(d)前記書き込みアドレス及び前記読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する段階を具備する。   The method for simultaneously executing the data read operation and the write operation according to the first embodiment of the present invention to achieve the other technical problem is that the input / output ports are separated and the clock signal is transmitted during one cycle. A write address and a read address are inputted, and a data read operation and a write operation of a plurality of memory blocks each having a plurality of sub memory blocks and a cache memory block corresponding to the memory block are simultaneously executed. (A) determining whether all of the write address and the read address are input or only one of the write address and the read address is input during one period of the clock signal. (B) the write address and the read address If all are input, determining whether the upper address of the write address is the same as the upper address of the read address; (c) if the upper address of the write address and the upper address of the read address are the same For example, determining whether the write address and the read address are the same as a predetermined cache memory address, and (d) if neither the write address nor the read address is the same as the cache memory address Performing a read operation on the memory block corresponding to the read address and executing a write operation on the cache memory block.

前記d段階は、(d1)前記キャッシュメモリブロックに格納されているデータが有効であるかどうかを判断する段階、(d2)前記キャッシュメモリブロックに格納されているデータが有効でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する段階、(d3)前記キャッシュメモリブロックに書き込まれたデータに関する情報をアップデートさせる段階、(d4)前記キャッシュメモリブロックに格納されているデータが有効であれば、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリにかくのうされている有効なデータを読み取って対応するメモリブロックに書き込む段階、及び、(d5)前記キャッシュメモリブロックに書き込み動作を実行し、前記キャッシュメモリブロックに書き込まれたデータに関する情報をアップデートさせる段階を具備する。   The step d includes (d1) determining whether or not the data stored in the cache memory block is valid, and (d2) if the data stored in the cache memory block is not valid, the reading is performed. Performing a read operation on the memory block corresponding to the address and executing a write operation on the cache memory block; (d3) updating information on data written to the cache memory block; (d4) the cache If the data stored in the memory block is valid, the memory block corresponding to the read address is read, and the valid data stored in the cache memory is read to correspond to the memory block. And (d ) The running write operation to the cache memory block, comprising the step of updating the information about the data written in the cache memory block.

前記キャッシュメモリアドレスは、前記キャッシュメモリブロックに対応する前記サブメモリブロックのアドレスを示す。   The cache memory address indicates an address of the sub memory block corresponding to the cache memory block.

前記(c)は、(c1)前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスとに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行する段階、及び、(c2)前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行し、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる段階を具備する。   (C) (c1) If one of the write address and the read address matches the cache memory address, the cache memory block performs an operation corresponding to the address that matches the cache memory address. Performing an operation corresponding to an address that does not match the cache memory address in the memory block, and (c2) if both the write address and the read address match the cache memory address, Performing a read operation, performing a write operation on the memory block, and updating information relating to data written to the memory block.

前記(b)段階は、(b1)前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一でなければ、前記書き込みアドレスと前記読み取りアドレスとが前記キャッシュメモリアドレスと一致するかを判断する段階、(b2)前記書き込みアドレス及び前記読み取りアドレスのうち何れか1つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスと一致する動作を前記メモリブロックで実行する段階、(b3)前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行した後、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる段階、及び、(b4)前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致しなければ、前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作を実行する段階を具備する。   In the step (b), (b1) if the upper address of the write address and the upper address of the read address are not the same, it is determined whether the write address and the read address match the cache memory address. (B2) If any one of the write address and the read address matches the cache memory address, an operation corresponding to the address that matches the cache memory address is executed in the cache memory block; Performing an operation in the memory block that matches an address that does not match a memory address; (b3) If both the write address and the read address match the cache memory address, read in the cache memory block Performing the operation and updating the information about the data written in the memory block after executing the write operation in the memory block, and (b4) both the write address and the read address are the cache memory address and If they do not match, the method includes performing a write operation and a read operation on different sub memory blocks corresponding to the write address and the read address among the selected memory blocks.

前記(a)段階は、(a1)前記書き込みアドレス及び前記読み取りアドレスのうち何れか1つだけ入力されれば、入力された前記書き込みアドレス及び前記読み取りアドレスのうち何れか1つが前記キャッシュメモリアドレスと一致するかを判断する段階、(a2)入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致した書き込みアドレスまたは読み取りアドレスに対応する動作を前記キャッシュメモリブロックで実行する段階、及び、(a3)入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致しなければ、前記キャッシュメモリアドレスと一致しない書き込みアドレスまたは読み取りアドレスに対応する動作を前記メモリブロックで実行する段階を具備する。   In the step (a), (a1) if only one of the write address and the read address is input, one of the input write address and the read address is the cache memory address. (A2) If the inputted write address or read address matches the cache memory address, an operation corresponding to the write address or read address that matches the cache memory address is performed. (A3) if the input write address or read address does not match the cache memory address, the write address or read address that does not match the cache memory address; An operation corresponding to less comprising the step of performing in the memory block.

前記メモリブロック内部の相異なるサブメモリブロックのうち同じ下位アドレスを有するメモリセルは前記キャッシュメモリブロックの1つのメモリセルに対応することを特徴とする。   A memory cell having the same lower address among different sub-memory blocks in the memory block corresponds to one memory cell of the cache memory block.

前記キャッシュメモリブロックのサイズは前記1つのサブメモリブロックのサイズと同じであるか大きいことを特徴とする。   The size of the cache memory block is equal to or larger than the size of the one sub memory block.

本発明による集積回路及びの読み取り動作と書き込み動作とを同時に実行する方法は、メモリブロックを複数のサブメモリブロックに区分し、それぞれのサブメモリブロックをデコーディングできるデコーディング回路と、あらゆるサブメモリブロックに連結される書き込みアドレスデコーディングパスと読み取りアドレスデコーディングパスとを別途に具備し、キャッシュメモリブロックを具備してクロック信号の1周期内で読み取り動作及び書き込み動作がメモリブロックとキャッシュメモリブロックとで分けられて同時に実行させることによって、クロック信号の動作周波数を増加させうる長所がある。   An integrated circuit and a method of simultaneously executing a read operation and a write operation according to the present invention include a decoding circuit capable of partitioning a memory block into a plurality of sub memory blocks and decoding each sub memory block, and any sub memory block. Are separately provided with a write address decoding pass and a read address decoding pass, and a cache memory block is provided, and a read operation and a write operation are performed in the memory block and the cache memory block within one cycle of the clock signal. There is an advantage that the operating frequency of the clock signal can be increased by being divided and executed simultaneously.

本発明とその動作上の利点及び本発明の実施によって達成される目的を十分に理解するためには本発明の望ましい実施例を例示する図面及び図面に記載された内容が参照されるべきである。   For a full understanding of the present invention, its operational advantages, and the objectives achieved by the practice of the present invention, reference should be made to the drawings illustrating the preferred embodiments of the invention and the contents described in the drawings. .

以下、図面を参照して本発明の望ましい実施例を説明することによって、本発明を詳細に説明する。各図面に提示された同じ符号は同じ構成要素を示す。   Hereinafter, the present invention will be described in detail by describing preferred embodiments of the present invention with reference to the drawings. The same reference numerals provided in each drawing indicate the same components.

図2は、第1実施例による集積回路を示すブロック図である。図2を参照すれば、集積回路200は、複数のサブメモリブロックSMB1、SMB2〜SMBMをそれぞれ具備するメモリブロックMB1、MB2、MB3、MB4と、それらのメモリブロックMB1、MB2、MB3、MB4に対応するキャッシュメモリブロックCMB1、CMB2、CMB3、CMB4と、タグメモリ制御部210とを具備する。図2の集積回路200は入出力ポートが分離されており、クロック信号の1周期の間に書き込みアドレスWADDと読み取りアドレスRADDとが入力される。   FIG. 2 is a block diagram showing an integrated circuit according to the first embodiment. Referring to FIG. 2, the integrated circuit 200 corresponds to the memory blocks MB1, MB2, MB3, and MB4 each including a plurality of sub memory blocks SMB1, SMB2 to SMBM, and the memory blocks MB1, MB2, MB3, and MB4. Cache memory blocks CMB1, CMB2, CMB3, and CMB4, and a tag memory control unit 210. In the integrated circuit 200 of FIG. 2, the input / output ports are separated, and the write address WADD and the read address RADD are input during one cycle of the clock signal.

メモリブロックMB1、MB2、MB3、MB4は相等しい構造であり、キャッシュメモリブロックCMB1、CMB2、CMB3、CMB4も相等しい構造であるので、メモリブロックMB1、MB2、MB3、MB4のうち第2のメモリブロックMB2と第2のキャッシュメモリブロックCMB2を中心として説明する。   Since the memory blocks MB1, MB2, MB3, and MB4 have the same structure, and the cache memory blocks CMB1, CMB2, CMB3, and CMB4 have the same structure, the second memory block among the memory blocks MB1, MB2, MB3, and MB4. Description will be made centering on MB2 and the second cache memory block CMB2.

書き込みアドレスWADD及び読み取りアドレスRADDは、それぞれ上位アドレスと下位アドレスとに区分される。上位アドレスは、複数のサブメモリブロックのうち何れか1つを指定するアドレスである。   The write address WADD and the read address RADD are divided into an upper address and a lower address, respectively. The upper address is an address that specifies any one of the plurality of sub memory blocks.

本発明の基本原理は、書き込みアドレスWADD及び読み取りアドレスRADDが同じである場合に、データの読み取り動作と書き込み動作とがメモリブロックとキャッシュメモリブロックとにそれぞれ分けられて同時に実行されることによってクロック信号の周期を短くされる点にある。   The basic principle of the present invention is that when the write address WADD and the read address RADD are the same, a data read operation and a write operation are divided into a memory block and a cache memory block and executed simultaneously. This is in the point of shortening the period.

すなわち、書き込みアドレスWADDと読み取りアドレスRADDとが同一で同時に1つのメモリブロック(例えば、第2メモリブロックMB2)のうち同じサブメモリブロック(例えば、SMB2)にアクセスすべき場合に、サブメモリブロックSMB2でデータの読み取り動作が実行されれば、データの書き込み動作はサブメモリブロックSMB2に対応するキャッシュメモリブロックCMB2で実行させる。   That is, when the write address WADD and the read address RADD are the same and the same sub memory block (for example, SMB2) among one memory block (for example, the second memory block MB2) is to be accessed at the same time, the sub memory block SMB2 If the data read operation is executed, the data write operation is executed in the cache memory block CMB2 corresponding to the sub memory block SMB2.

逆に、メモリブロックMB2でデータの書き込み動作が実行されれば、データの読み取り動作は、メモリブロックMB2に対応するキャッシュメモリブロックCMB2で実行させる。このようにすることによって、データの読み取り動作及び書き込み動作が同時に並列的に行われ、クロック信号の周期を短くすることができる。   Conversely, if a data write operation is executed in the memory block MB2, the data read operation is executed in the cache memory block CMB2 corresponding to the memory block MB2. By doing so, the data read operation and the data write operation are simultaneously performed in parallel, and the cycle of the clock signal can be shortened.

このために、メモリブロックMB2内部の相異なるサブメモリブロックSMB1、SMB2、SMB3〜SMBMのうち同じ下位アドレスを有するメモリセルは、キャッシュメモリブロックCMB2の1つのメモリセルに対応させられる。また、同じサブメモリブロックに対して書き込み動作と読み取り動作とが実行され続ける場合も発生しうるので、キャッシュメモリブロックのサイズは、1つのサブメモリブロックのサイズと同じであるか、それよりも大きくなければならない。   Therefore, a memory cell having the same lower address among different sub-memory blocks SMB1, SMB2, and SMB3 to SMBM in the memory block MB2 is made to correspond to one memory cell of the cache memory block CMB2. In addition, since the write operation and the read operation may continue to be executed on the same sub memory block, the size of the cache memory block is the same as or larger than the size of one sub memory block. There must be.

このような動作は、タグメモリ制御部210によって実行される。タグメモリ制御部210は、書き込みアドレスWADDまたは読み取りアドレスRADDに応答してメモリブロックMB1、MB2、MB3、MB4及びキャッシュメモリブロックCMB1、CMB2、CMB3、CMB4に格納されたデータを読み取るか、メモリブロックMB1、MB2、MB3、MB4及びキャッシュメモリブロックCMB1、CMB2、CMB3、CMB4にデータを書き込む。   Such an operation is executed by the tag memory control unit 210. The tag memory control unit 210 reads data stored in the memory blocks MB1, MB2, MB3, MB4 and the cache memory blocks CMB1, CMB2, CMB3, CMB4 in response to the write address WADD or the read address RADD, or the memory block MB1. , MB2, MB3, MB4 and data are written in the cache memory blocks CMB1, CMB2, CMB3, CMB4.

書き込みアドレスWADDと読取りアドレスRADDとが同一であり、メモリブロックMB2のうち1つのサブメモリブロックで読み取り動作が実行され、キャッシュメモリブロックCMB2で書き込み動作が実行された場合、キャッシュメモリブロックCMB2に書き込まれたデータが元々書き込まれるべきメモリブロックMB2のうちサブメモリブロックのアドレスがキャッシュメモリアドレスとしてタグメモリ制御部210に格納される。   When the write address WADD and the read address RADD are the same, a read operation is executed in one sub memory block of the memory block MB2, and a write operation is executed in the cache memory block CMB2, the write address WADD and the read address RADD are written in the cache memory block CMB2. The address of the sub memory block in the memory block MB2 to which the data is originally written is stored in the tag memory control unit 210 as a cache memory address.

すなわち、キャッシュメモリアドレスは、キャッシュメモリブロックCNB2に格納されているデータが元々格納されるべきサブメモリブロックを指定する上位アドレスである。   That is, the cache memory address is an upper address that designates a sub memory block in which data stored in the cache memory block CNB2 is originally stored.

入力されるアドレスのうちから下位アドレスを利用してタグメモリ制御部210に格納されたキャッシュメモリアドレスにアクセスし、アクセスされたキャッシュメモリアドレスと入力されたアドレスの上位アドレスとが比較される。   The cache memory address stored in the tag memory control unit 210 is accessed using the lower address among the input addresses, and the accessed cache memory address is compared with the upper address of the input address.

次回の書き込みアドレスWADDと読み取りアドレスRADDとが同一であり、また以前の書き込みアドレスWADDと読み取りアドレスRADDとも同一であるために、キャッシュメモリブロックCMB2に再び書き込み動作が実行されるべき場合がある。この場合、キャッシュメモリブロックCMB2に先に書き込まれていたデータが有効なデータであるかどうかを判断しなければならない。   Since the next write address WADD and the read address RADD are the same, and the previous write address WADD and the read address RADD are also the same, the write operation to the cache memory block CMB2 should be executed again. In this case, it must be determined whether the data previously written in the cache memory block CMB2 is valid data.

有効なデータであれば、キャッシュメモリブロックCMB2に先に書き込まれているデータを読み取ってメモリブロックMB2の対応するサブメモリブロックに書き込んだ後、次回の書き込みアドレスWADDに対応するデータをキャッシュメモリブロックCMB2に書き込まなければならないためである。キャッシュメモリブロックCMB2に格納されているデータが有効であるかを判断する有効判断情報もタグメモリ制御部210に格納される。   If it is valid data, the data previously written in the cache memory block CMB2 is read and written in the corresponding sub memory block of the memory block MB2, and then the data corresponding to the next write address WADD is stored in the cache memory block CMB2. Because it must be written to. Validity determination information for determining whether the data stored in the cache memory block CMB2 is valid is also stored in the tag memory control unit 210.

また、書き込みアドレスWADD及び読み取りアドレスRADDが相異なる場合、それぞれの書き込みアドレスWADD、読み取りアドレスRADDに対応する相異なる2個のサブメモリブロックがそれぞれデコーディングされる。   When the write address WADD and the read address RADD are different from each other, two different sub-memory blocks corresponding to the write address WADD and the read address RADD are respectively decoded.

このために、集積回路200は、書き込みアドレスデコーディングパス(図示せず)と読み取りアドレスデコーディングパス(図示せず)が相互に独立するように分離されなければならない。そして、サブメモリブロックSMB1、SMB2、SMB3〜SMBMは、書き込みアドレスデコーディングパスと読み取りアドレスデコーディングパスとにそれぞれ連結されねばならない。   For this, the integrated circuit 200 must be separated such that a write address decoding path (not shown) and a read address decoding path (not shown) are independent of each other. The sub memory blocks SMB1, SMB2, and SMB3 to SMBM must be connected to a write address decoding pass and a read address decoding pass, respectively.

データは、SDRまたはDDRにおいて、入力ピンまたは出力ピンを通じて入力または出力される。   Data is input or output through an input pin or an output pin in SDR or DDR.

タグメモリ制御部210がメモリブロックMB2及びキャッシュメモリブロックCMB2を制御してデータの読み取り及び書き込みを実行する動作は、図3及び図4を参照して後述する。   The operation in which the tag memory control unit 210 controls the memory block MB2 and the cache memory block CMB2 to read and write data will be described later with reference to FIGS.

図3は、第2実施例による集積回路を示すブロック図である。集積回路300は、複数のサブメモリブロックSMB1、SMB2、SMB3〜SMBMをそれぞれ含むメモリブロック、キャッシュメモリブロック、デコーディング部及びタグメモリ制御部310を具備する。   FIG. 3 is a block diagram showing an integrated circuit according to the second embodiment. The integrated circuit 300 includes a memory block including a plurality of sub memory blocks SMB1, SMB2, and SMB3 to SMBM, a cache memory block, a decoding unit, and a tag memory control unit 310.

キャッシュメモリブロックはそれぞれのメモリブロックに対応し、所定のキャッシュ制御信号CCLSに応答して格納されたデータが出力されるか、またはデータが書き込まれる。デコーディング部はそれぞれのメモリブロックに対応し、書き込みアドレスWADDまたは読み取りアドレスRADD、所定のデコーディング制御信号DCLSに応答してサブメモリブロックSMB1、SMB2、SMB3〜SMBMを制御するデコーディング信号DSを発生する。   A cache memory block corresponds to each memory block, and stored data is output or data is written in response to a predetermined cache control signal CCLS. The decoding unit corresponds to each memory block, and generates a decoding signal DS for controlling the sub memory blocks SMB1, SMB2, and SMB3 to SMBM in response to a write address WADD or a read address RADD and a predetermined decoding control signal DCLS. To do.

図3は、複数のメモリブロックのうち1つのメモリブロックMB2と複数のデコーディング部のうち1つのデコーディング部320、複数のキャッシュメモリブロックのうち1つのキャッシュメモリブロックCMB2を図示している。   FIG. 3 illustrates one memory block MB2 of the plurality of memory blocks, one decoding unit 320 of the plurality of decoding units, and one cache memory block CMB2 of the plurality of cache memory blocks.

したがって、第2実施例による集積回路300の動作の説明も図3に示したメモリブロックMB2とキャッシュメモリブロックCMB2、デコーディング部320及びタグメモリ制御部310を利用して説明する。   Therefore, the operation of the integrated circuit 300 according to the second embodiment will also be described using the memory block MB2, the cache memory block CMB2, the decoding unit 320, and the tag memory control unit 310 shown in FIG.

タグメモリ制御部310は、書き込み選択信号WESまたは読取り選択信号RES、書き込みアドレスWADDまたは読み取りアドレスRADDを受信し、クロック信号の1周期の間に入力される書き込みアドレスWADDと読取りアドレスRADDとが同じであるかどうかに応じて、データの書き込み動作及び読み取り動作が同時に実行されるようにキャッシュ制御信号CCLSまたはデコーディング制御信号DCLSを発生する。また、図面には示されていないが、読み取り選択信号RES及び書き込み選択信号WESもメモリブロックMB2及びキャッシュメモリブロックCMB2に印加されうる。   The tag memory control unit 310 receives the write selection signal WES or the read selection signal RES, the write address WADD or the read address RADD, and the write address WADD and the read address RADD input during one cycle of the clock signal are the same. Depending on whether or not there is, the cache control signal CCLS or the decoding control signal DCLS is generated so that the data write operation and the data read operation are executed simultaneously. Although not shown in the drawing, the read selection signal RES and the write selection signal WES can also be applied to the memory block MB2 and the cache memory block CMB2.

図2の集積回路200と同様に前記デコーディング部は、それぞれサブメモリブロックSMB1、SMB2、SMB3〜SMBMに対応する複数のデコーディング回路(図示せず)を具備する。入力される書き込みアドレスWADD及び読み取りアドレスRADDが相異なる場合、それぞれの書き込みアドレスWADD、読み取りアドレスRADDに対応する相異なる2個のサブメモリブロックがそれぞれデコーディングされなければならないためである。   Like the integrated circuit 200 of FIG. 2, the decoding unit includes a plurality of decoding circuits (not shown) corresponding to the sub memory blocks SMB1, SMB2, and SMB3 to SMBM, respectively. This is because when the input write address WADD and the read address RADD are different, two different sub-memory blocks corresponding to the write address WADD and the read address RADD must be decoded.

このために、デコーディング回路(図示せず)は、相互に分離されている書き込みアドレスデコーディングパス(図示せず)及び読み取りアドレスデコーディングパス(図示せず)と連結され、サブメモリブロックSMB1、SMB2、SMB3〜SMBMは、書き込みアドレスデコーディングパス(図示せず)及び読み取りアドレスデコーディングパス(図示せず)にそれぞれ連結される。   For this, a decoding circuit (not shown) is connected to a write address decoding path (not shown) and a read address decoding path (not shown) which are separated from each other, and the sub memory blocks SMB1, SMB2 and SMB3 to SMBM are connected to a write address decoding pass (not shown) and a read address decoding pass (not shown), respectively.

図4は、他の実施例によるデータの読み取り動作と書き込み動作とを同時に実行する方法を示すフローチャートである。図5は、図4の段階440を説明するフローチャートである。図6は、図4の段階445を説明するフローチャートである。図7は、図4の段階455を説明するフローチャートである。   FIG. 4 is a flowchart illustrating a method for simultaneously executing a data reading operation and a writing operation according to another embodiment. FIG. 5 is a flowchart illustrating step 440 of FIG. FIG. 6 is a flowchart illustrating step 445 of FIG. FIG. 7 is a flowchart illustrating step 455 of FIG.

以下、図2ないし図7を参照してデータの読み取り動作と書き込み動作とを同時に実行する集積回路及び方法について説明する。   Hereinafter, an integrated circuit and method for simultaneously executing a data reading operation and a writing operation will be described with reference to FIGS.

まず、クロック信号の1周期の間に書き込みアドレスと読取りアドレスとが共に入力されるか、書き込みアドレス及び読み取りアドレスのうち何れか1つだけ入力されるかを判断する(段階410段階)。図3の書き込み選択信号WES及び読み取り選択信号RESによって判断されうる。   First, it is determined whether a write address and a read address are input during one cycle of the clock signal, or only one of the write address and the read address is input (step 410). This can be determined by the write selection signal WES and the read selection signal RES in FIG.

ここでは、書き込み選択信号WESがローレベルであるか、読み取り選択信号RESがローレベルである場合に、それぞれ書き込みアドレスWADDと読み取りアドレスRADDとが入力されるものとする。もちろん、書き込み選択信号WES及び読み取り選択信号RESのレベルがハイレバルである場合に書き込みアドレスWADDと読み取りアドレスRADDとが入力されるように回路を構成することもできる。   Here, it is assumed that when the write selection signal WES is at a low level or the read selection signal RES is at a low level, a write address WADD and a read address RADD are input, respectively. Of course, the circuit can be configured so that the write address WADD and the read address RADD are input when the levels of the write selection signal WES and the read selection signal RES are high.

タグメモリ制御部310は、書き込み選択信号WESと読み取り選択信号RESとを受信し、書き込みアドレスWADDと読み取りアドレスRADDとを受信する。   The tag memory control unit 310 receives the write selection signal WES and the read selection signal RES, and receives the write address WADD and the read address RADD.

書き込みアドレスと読み取りアドレスとが共に入力されれば、書き込みアドレスの上位アドレスと読み取りアドレスの上位アドレスとが同一であるかを判断する(段階420)。   If both the write address and the read address are input, it is determined whether the upper address of the write address is the same as the upper address of the read address (step 420).

書き込みアドレスWADDや読み取りアドレスRADDは、上位ビットにサブメモリブロックを指定する情報を有している。したがって、書き込みアドレスWADDや読み取りアドレスRADDが入力されれば、まず、書き込みアドレスWADDや読み取りアドレスRADDの上位アドレスを認識して、どのサブメモリブロックを指定するかを判断する。   The write address WADD and the read address RADD have information specifying the sub memory block in the upper bits. Therefore, when the write address WADD or the read address RADD is input, first, the upper address of the write address WADD or the read address RADD is recognized to determine which submemory block is designated.

書き込みアドレスの上位アドレスと読み取りアドレスの上位アドレスとが同一であれば、書き込みアドレスと読み取りアドレスとが所定のキャッシュメモリアドレスと同一であるかを判断する(段階430)。   If the upper address of the write address and the upper address of the read address are the same, it is determined whether the write address and the read address are the same as a predetermined cache memory address (step 430).

書き込みアドレスWADDの上位アドレスと読み取りアドレスRADDの上位アドレスとが同一であれば、書き込みアドレスWADD及び読み取りアドレスRADDが同じサブメモリブロックを指定している。   If the upper address of the write address WADD is the same as the upper address of the read address RADD, the sub memory block having the same write address WADD and read address RADD is designated.

タグメモリ制御部310はキャッシュメモリアドレスを内部に格納している。キャッシュメモリアドレスは、キャッシュメモリブロックCMB2に対応するサブメモリブロックのアドレスを示す。もし書き込みアドレスWADDがキャッシュメモリアドレスと同一であれば、書き込み動作はキャッシュメモリブロックCMB2で実行されなければならない。   The tag memory control unit 310 stores a cache memory address therein. The cache memory address indicates the address of the sub memory block corresponding to the cache memory block CMB2. If the write address WADD is the same as the cache memory address, the write operation must be performed in the cache memory block CMB2.

書き込みアドレスと読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する(段階440)。   If neither the write address nor the read address is the same as the cache memory address, a read operation is performed on the memory block corresponding to the read address, and a write operation is performed on the cache memory block (step 440).

段階440を図5を参照してもうさらに説明する。書き込みアドレスと読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記キャッシュメモリブロックに格納されているデータが有効であるかを判断する(段階510)。   Step 440 is further described with reference to FIG. If neither the write address nor the read address is the same as the cache memory address, it is determined whether the data stored in the cache memory block is valid (step 510).

書き込みアドレスWADDと読み取りアドレスRADDのいずれも前記キャッシュメモリアドレスと同一でないことは、結局、メモリブロックMB2の同じサブメモリブロックで書き込み動作及び読み取り動作が実行されなければならないことを意味する。しかし、同じサブメモリブロックで書き込みワードラインと読み取りワードラインとを同時にイネーブルすることはできない。したがって、キャッシュメモリブロックCMB2を利用する。   The fact that neither the write address WADD nor the read address RADD is the same as the cache memory address means that the write operation and the read operation must be executed in the same sub memory block of the memory block MB2. However, the write word line and the read word line cannot be simultaneously enabled in the same sub memory block. Therefore, the cache memory block CMB2 is used.

前記キャッシュメモリブロックに格納されているデータが有効でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する(段階540)。   If the data stored in the cache memory block is not valid, a read operation is performed on the memory block corresponding to the read address, and a write operation is performed on the cache memory block (step 540).

書き込み動作と読み取り動作とが同じサブメモリブロックで実行されるべき場合は、読み取り動作が優先的に実行される。したがって、読み取りアドレスRADDに対応するメモリブロックMB2のサブメモリブロックで読み取り動作を実行する。そして、キャッシュメモリブロックCMB2に格納されていたデータが有効でないので、キャッシュメモリブロックCMB2に書き込み動作を実行する。   If the write operation and the read operation are to be executed in the same sub-memory block, the read operation is preferentially executed. Therefore, the read operation is executed in the sub memory block of the memory block MB2 corresponding to the read address RADD. Since the data stored in the cache memory block CMB2 is not valid, a write operation is performed on the cache memory block CMB2.

タグメモリ制御部310はデコーディング制御信号DCLSをデコーディング部320に印加する。すると、デコーディング部320内部のデコーディング回路(図示せず)のうち読み取りアドレスRADDに対応するデコーディング回路は、デコーディング信号DSを発生して対応するサブメモリブロックをデコーディングする。すると、サブメモリブロックに格納されたデータが出力される。図3において、MDOUTは、メモリブロックMB2に格納されたデータが出力される経路である。Qは、出力ピンを意味する。出力ピンQと入力ピンDとは、分離されている。   The tag memory control unit 310 applies a decoding control signal DCLS to the decoding unit 320. Then, the decoding circuit corresponding to the read address RADD among the decoding circuits (not shown) in the decoding unit 320 generates the decoding signal DS and decodes the corresponding sub memory block. Then, the data stored in the sub memory block is output. In FIG. 3, MDOUT is a path through which data stored in the memory block MB2 is output. Q means an output pin. The output pin Q and the input pin D are separated.

また、タグメモリ制御部310は、キャッシュ制御信号CCLSを発生してキャッシュメモリブロックMB2で書き込み動作を実行する。   Further, the tag memory control unit 310 generates a cache control signal CCLS and executes a write operation in the cache memory block MB2.

キャッシュメモリブロックCMB2に格納されたデータが変更されたので、前記キャッシュメモリブロックに書き込まれたデータに関する情報をアップデートさせる(段階550)。このような情報のアップデートはタグメモリ制御部310で実行される。   Since the data stored in the cache memory block CMB2 has been changed, information about the data written in the cache memory block is updated (step 550). Such update of information is executed by the tag memory control unit 310.

前記キャッシュメモリブロックに格納されているデータが有効であれば、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックに格納されている有効なデータを読み取って対応するメモリブロックに書き込む(段階520)。   If the data stored in the cache memory block is valid, a read operation is performed on the memory block corresponding to the read address, and the valid data stored in the cache memory block is read to correspond to the memory. Write to the block (step 520).

書き込み動作と読み取り動作とが同じサブメモリブロックで実行されるべき場合、読み取り動作が優先的に実行されるので、読み取りアドレスRADDに対応するメモリブロックMB2のサブメモリブロックで読み取り動作を実行する。読み取り動作は、タグメモリ制御部310で発生されるデコーディング制御信号DCLSによって実行される。   When the write operation and the read operation are to be executed in the same sub memory block, the read operation is preferentially executed. Therefore, the read operation is executed in the sub memory block of the memory block MB2 corresponding to the read address RADD. The reading operation is executed by a decoding control signal DCLS generated by the tag memory control unit 310.

キャッシュメモリブロックCMB2に格納されたデータが有効なデータであるので、まず、キャッシュメモリブロックCMB2に格納されている有効なデータを読み取り、読み取られたデータをメモリブロックの対応するサブメモリブロックに書き込まなければならない。そして、キャッシュ制御信号CCLSに応答してキャッシュメモリブロックCMB2に書き込み動作を実行し、キャッシュメモリブロックCMB2に書き込まれたデータに関する情報をアップデートさせる(段階530)。情報のアップデートもタグメモリ制御部310で実行される。   Since the data stored in the cache memory block CMB2 is valid data, the valid data stored in the cache memory block CMB2 must first be read and the read data must be written to the corresponding sub memory block of the memory block. I must. Then, a write operation is performed on the cache memory block CMB2 in response to the cache control signal CCLS to update information on the data written to the cache memory block CMB2 (step 530). Information update is also executed by the tag memory control unit 310.

このようなデータの書き込み動作と読み取り動作とは同時に実行される。すなわち、サブメモリブロックとキャッシュメモリブロックCMB2とで書き込み動作と読み取り動作とが独立して実行されるので、書き込みワードラインと読み取りワードラインとは同時にイネーブルされうる。したがって、書き込みワードラインと読み取りワードラインとが順次にイネーブルされることによってクロック信号の周期を縮めるのに制限が生じる問題を解決できる。   Such data writing operation and reading operation are performed simultaneously. That is, since the write operation and the read operation are performed independently in the sub memory block and the cache memory block CMB2, the write word line and the read word line can be enabled simultaneously. Accordingly, it is possible to solve the problem that a limitation occurs in reducing the cycle of the clock signal by sequentially enabling the write word line and the read word line.

前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致しているか、前記書き込みアドレス及び前記読み取りアドレスの全てが前記キャッシュメモリアドレスと一致しているかを判断して書き込み動作及び読み取り動作を実行する(段階445)。   A write operation and a read operation are performed by determining whether one of the write address and the read address matches the cache memory address, or whether all of the write address and the read address match the cache memory address. Perform (step 445).

段階445を図6を参照してさらに説明する。前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行する(段階610)。   Step 445 is further described with reference to FIG. If one of the write address and the read address matches the cache memory address, an operation corresponding to the address that matches the cache memory address is executed in the cache memory block, and an address that does not match the cache memory address is set. A corresponding operation is performed on the memory block (step 610).

すなわち、読み取りアドレスRADDがキャッシュメモリアドレスと一致し、書き込みアドレスWADDがキャッシュメモリアドレスと一致しなければ、キャッシュメモリブロックCMB2で読み取り動作を実行する。タグメモリ制御部310は、キャッシュ制御信号CCLSをキャッシュメモリブロックCMB2に印加して読み取り動作を実行する。読み取られたデータは図3でCDOUTとして示されている。   That is, if the read address RADD matches the cache memory address and the write address WADD does not match the cache memory address, the read operation is executed in the cache memory block CMB2. The tag memory control unit 310 executes the reading operation by applying the cache control signal CCLS to the cache memory block CMB2. The read data is shown as CDOUT in FIG.

また、タグメモリ制御部310は、デコーディング制御信号DCLSを発生してメモリブロックMB2で書き込み動作を実行させる。   Further, the tag memory control unit 310 generates a decoding control signal DCLS and causes the memory block MB2 to perform a write operation.

逆に、書き込みアドレスWADDがキャッシュメモリアドレスと一致し、読み取りアドレスRADDがキャッシュメモリアドレスと一致しなければ、キャッシュメモリブロックCMB2で書き込み動作を実行し、メモリブロックMB2で読み取り動作を実行する。   Conversely, if the write address WADD matches the cache memory address and the read address RADD does not match the cache memory address, the write operation is executed in the cache memory block CMB2, and the read operation is executed in the memory block MB2.

前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行し、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる(段階620)。   If both the write address and the read address match the cache memory address, a read operation is executed in the cache memory block, a write operation is executed in the memory block, and information about data written in the memory block is obtained. Update (step 620).

書き込みアドレス及び前記読み取りアドレスが全て前記キャッシュメモリアドレスと一致すれば、書き込み動作と読み取り動作が全てキャッシュメモリブロックCMB2で実行されなければならないことを意味する。しかし、これは同じサブメモリブロックで書き込み動作と読み取り動作とが同時に実行されないことと同じ理由で不可である。   If the write address and the read address all match the cache memory address, it means that all the write and read operations must be performed in the cache memory block CMB2. However, this is not possible for the same reason that the write operation and the read operation are not executed simultaneously in the same sub memory block.

したがって、キャッシュメモリブロックCMB2でキャッシュ制御信号CCLSに応答して読み取り動作を実行する。そして、デコーディング制御信号DCLSに応答してメモリブロックMB2の対応するサブメモリブロックで書き込み動作を実行する。元々キャッシュメモリブロックCMB2に書き込まれるべきデータがサブメモリブロックに書き込まれたものであるので、キャッシュメモリブロックCMB2に現在格納されているデータは有効でないデータとなる。したがって、このような情報をタグメモリ制御部310にアップデートさせる。   Therefore, the read operation is executed in the cache memory block CMB2 in response to the cache control signal CCLS. Then, in response to the decoding control signal DCLS, the write operation is executed in the corresponding sub memory block of the memory block MB2. Since the data to be originally written in the cache memory block CMB2 has been written in the sub memory block, the data currently stored in the cache memory block CMB2 becomes invalid data. Therefore, the tag memory control unit 310 is updated with such information.

段階420で、前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一でなければ、前記書き込みアドレスと前記読み取りアドレスとが前記キャッシュメモリアドレスと一致しているかを判断する(段階450)。   In step 420, if the upper address of the write address and the upper address of the read address are not the same, it is determined whether the write address and the read address match the cache memory address (step 450).

前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致しているか、前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致しているかを判断して書き込み動作及び読み取り動作を実行する。(段階455)
段階455を図7を参照してさらに説明する。前記書き込みアドレス及び前記読み取りアドレスのうち何れか1つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスと一致する動作を前記メモリブロックで実行する(段階710)。
The write operation and the read operation are executed by determining whether one of the write address and the read address matches the cache memory address, or whether both the write address and the read address match the cache memory address. To do. (Step 455)
Step 455 is further described with reference to FIG. If any one of the write address and the read address matches the cache memory address, an operation corresponding to the address that matches the cache memory address is executed in the cache memory block and does not match the cache memory address. An operation matching the address is performed on the memory block (step 710).

すなわち、読み取りアドレスRADDがキャッシュメモリアドレスと一致し、書き込みアドレスWADDがキャッシュメモリアドレスと一致しなければ、キャッシュ制御信号CCLSに応答してキャッシュメモリブロックCMB2で読み取り動作を遂行する。また、タグメモリ制御部310は、デコーディング制御信号DCLSを発生してメモリブロックMB2で書き込み動作を実行させる。   That is, if the read address RADD matches the cache memory address and the write address WADD does not match the cache memory address, a read operation is performed in the cache memory block CMB2 in response to the cache control signal CCLS. Further, the tag memory control unit 310 generates a decoding control signal DCLS and causes the memory block MB2 to perform a write operation.

逆に、書き込みアドレスWADDがキャッシュメモリアドレスと一致し、読み取りアドレスRADDがキャッシュメモリアドレスと一致しなければ、キャッシュメモリブロックCMB2で書き込み動作を実行し、メモリブロックMB2で読み取り動作を実行する。   Conversely, if the write address WADD matches the cache memory address and the read address RADD does not match the cache memory address, the write operation is executed in the cache memory block CMB2, and the read operation is executed in the memory block MB2.

前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行し、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる(段階720)。   If both the write address and the read address match the cache memory address, a read operation is executed in the cache memory block, a write operation is executed in the memory block, and information about data written in the memory block is obtained. Update (step 720).

前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、書き込み動作と読み取り動作とが共にキャッシュメモリブロックCMB2で実行されなければならないことを意味する。しかし、これは同じサブメモリブロックで書き込み動作と読み取り動作とが同時に実行されないことと同じ理由で不可である。   If both the write address and the read address match the cache memory address, it means that both the write operation and the read operation must be performed in the cache memory block CMB2. However, this is not possible for the same reason that the write operation and the read operation are not executed simultaneously in the same sub memory block.

したがって、キャッシュメモリブロックCMB2でキャッシュ制御信号CCLSに応答して読み取り動作を実行する。そして、デコーディング制御信号DCLSに応答してメモリブロックMB2の対応するサブメモリブロックで書き込み動作を実行する。元々キャッシュメモリブロックCMB2に書き込まれるべきデータがサブメモリブロックに書き込まれたものであるので、キャッシュメモリブロックCMB2に現在格納されているデータは有効でないデータとなる。したがって、このような情報をタグメモリ制御部310にアップデートさせる。   Therefore, the read operation is executed in the cache memory block CMB2 in response to the cache control signal CCLS. Then, in response to the decoding control signal DCLS, the write operation is executed in the corresponding sub memory block of the memory block MB2. Since the data to be originally written in the cache memory block CMB2 has been written in the sub memory block, the data currently stored in the cache memory block CMB2 becomes invalid data. Therefore, the tag memory control unit 310 is updated with such information.

段階450で判断した結果、前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致しなければ、前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作を実行する(段階460)。   If it is determined in step 450 that the write address and the read address do not match the cache memory address, different sub-memory blocks corresponding to the write address and the read address among the selected memory blocks. A write operation and a read operation are performed (step 460).

この場合は、書き込みアドレスWADD及び読み取りアドレスRADDが相異なるサブメモリブロックを指定している場合である。相異なるサブメモリブロックが指定されたので、それぞれのサブメモリブロックに対応するデコーディング回路(図示せず)を利用してデータの読み取り動作と書き込み動作とを実行する。   In this case, sub-memory blocks having different write addresses WADD and read addresses RADD are designated. Since different sub memory blocks are designated, a data reading operation and a writing operation are executed using a decoding circuit (not shown) corresponding to each sub memory block.

各サブメモリブロックをデコーディングできるデコーディング回路を別途に具備しており、また書き込みアドレスデコーディングパスと読み取りアドレスデコーディングパスとが独立的に分離されているので、同じメモリブロックであっても相異なるサブメモリブロックであれば、同時に読み取り動作及び書き込み動作が実行できる。   A separate decoding circuit capable of decoding each sub memory block is provided, and the write address decoding pass and the read address decoding pass are independently separated. If the sub memory blocks are different, the read operation and the write operation can be executed simultaneously.

段階410で、前記書き込みアドレス及び前記読取りアドレスのうち何れか1つだけ入力されれば、入力された前記書き込みアドレス及び前記読み取りアドレスのうち何れか1つが前記キャッシュメモリアドレスと一致するかを判断する(段階465)。   In step 410, if only one of the write address and the read address is input, it is determined whether any one of the input write address and the read address matches the cache memory address. (Step 465).

入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致した書き込みアドレスまたは読み取りアドレスに対応する動作を前記キャッシュメモリブロックで実行する(段階470)。この場合は、クロック信号の1周期の間に書き込みアドレスWADD及び読み取りアドレスRADDのうち何れか1つだけ入力される。   If the inputted write address or read address matches the cache memory address, an operation corresponding to the write address or read address that matches the cache memory address is performed in the cache memory block (step 470). In this case, only one of the write address WADD and the read address RADD is input during one cycle of the clock signal.

この時は、入力されるアドレスがキャッシュメモリアドレスと一致すれば、キャッシュメモリブロックで対応する動作を実行し、キャッシュメモリアドレスと一致しなければ、メモリブロックMB2で対応する動作を実行する。   At this time, if the input address matches the cache memory address, the corresponding operation is executed in the cache memory block, and if it does not match the cache memory address, the corresponding operation is executed in the memory block MB2.

すなわち、書き込みアドレスWADDだけ入力され、入力された書き込みアドレスWADDがキャッシュメモリアドレスと一致するならば、キャッシュメモリブロックCMB2に書き込み動作を実行する。逆に、読み取りアドレスRADDだけ入力され、入力された読み取りアドレスRADDがキャッシュメモリアドレスと一致するならば、キャッシュメモリブロックCMB2に読み取り動作を実行する。この時、タグメモリ制御部310は、キャッシュ制御信号CCLSを発生してキャッシュメモリブロックCMB2で書き込みまたは読み取り動作を実行させる。   That is, if only the write address WADD is input and the input write address WADD coincides with the cache memory address, a write operation is performed on the cache memory block CMB2. Conversely, if only the read address RADD is input and the input read address RADD matches the cache memory address, a read operation is executed on the cache memory block CMB2. At this time, the tag memory control unit 310 generates a cache control signal CCLS and causes the cache memory block CMB2 to perform a write or read operation.

入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致しなければ、前記キャッシュメモリアドレスと一致しない書き込みアドレスまたは読み取りアドレスに対応する動作を前記メモリブロックで実行する(段階475)。   If the input write address or read address does not match the cache memory address, an operation corresponding to the write address or read address that does not match the cache memory address is performed in the memory block (step 475).

図8は、本発明の集積回路の動作を説明するタイミング図である。図8を参照すれば、クロック信号CLKの1周期が図1のクロック信号CLKの1周期の半分に短縮されたことが分かる。これはクロック信号CLKの周波数が倍増されたことを意味する。   FIG. 8 is a timing chart for explaining the operation of the integrated circuit of the present invention. Referring to FIG. 8, it can be seen that one cycle of the clock signal CLK is shortened to half of one cycle of the clock signal CLK of FIG. This means that the frequency of the clock signal CLK has been doubled.

従来においては、書き込み動作のためのワードラインと読み取り動作のためのワードラインとがクロック信号CLKの1周期の間に順次にイネーブルされるので、クロック信号CLKの周期を短くすることが難しかった。   Conventionally, since the word line for the write operation and the word line for the read operation are sequentially enabled during one cycle of the clock signal CLK, it is difficult to shorten the cycle of the clock signal CLK.

しかし、本発明による集積回路及び方法によれば、図8から分かるように、読み取り動作のためのワードラインWL1と書き込み動作のためのワードラインWL2とがクロック信号CLKの1周期の間に同時にイネーブルされるので、クロック信号CLKの周期を短くすることができる。   However, according to the integrated circuit and method of the present invention, as can be seen from FIG. 8, the word line WL1 for the read operation and the word line WL2 for the write operation are simultaneously enabled during one period of the clock signal CLK. Therefore, the cycle of the clock signal CLK can be shortened.

本発明は、入出力ポートが分離され、クロック信号の1周期内に書き込みアドレスと読み取りアドレスとを共に受けられる種々の集積回路に適用することができる。また、データは、SDRまたはDDRに分離された入力ピンまたは出力ピンを通じて入出力することができる。   The present invention can be applied to various integrated circuits in which input / output ports are separated and both a write address and a read address can be received within one cycle of a clock signal. Data can be input / output through input pins or output pins separated into SDR or DDR.

以上でのように、図面と明細書で最適実施例が開示された。ここで特定の用語が使われたが、これは単に本発明を説明するための目的で使われたものであり、意味限定や特許請求の範囲に記載された本発明の範囲を制限するために使われたものではない。したがって、本技術分野の当業者であれば、これにより多様な変形及び均等な他の実施例が可能である点が理解できるであろう。したがって、本発明の真の技術的保護範囲は特許請求の技術的思想によって定められなければならない。   As described above, the preferred embodiment has been disclosed in the drawings and specification. Certain terminology has been used herein for the purpose of describing the present invention only, and is intended to limit the scope of the invention as defined in the meaning and claims. It was not used. Accordingly, those skilled in the art will appreciate that various modifications and equivalent other embodiments are possible. Therefore, the true technical protection scope of the present invention must be defined by the technical idea of the claims.

本発明は集積回路に係り、特に二重データ率RAM(Double Data Rate RAM:DDR RAM)のように動作速度が速くて入出力ポートが分離された半導体集積回路において好適に使用できる。   The present invention relates to an integrated circuit, and can be suitably used particularly in a semiconductor integrated circuit having a high operation speed and separated input / output ports, such as a double data rate RAM (DDR RAM).

分離された入出力ポートを有するメモリ装置の動作を説明するタイミング図である。FIG. 5 is a timing diagram illustrating an operation of a memory device having separated input / output ports. 第1実施例による集積回路を示すブロック図である。1 is a block diagram showing an integrated circuit according to a first embodiment. 第2実施例による集積回路を示すブロック図である。It is a block diagram which shows the integrated circuit by 2nd Example. 他の実施例によるデータの読み取り動作と書き込み動作とを同時に実行する方法を示すフローチャートである。6 is a flowchart illustrating a method for simultaneously executing a data reading operation and a writing operation according to another embodiment. 図4の段階440を説明するフローチャートである。FIG. 5 is a flowchart illustrating step 440 in FIG. 4. FIG. 図4の段階445を説明するフローチャートである。FIG. 5 is a flowchart illustrating step 445 in FIG. 4. FIG. 図4の段階455を説明するフローチャートである。FIG. 5 is a flowchart illustrating step 455 of FIG. 4. 本発明の集積回路の動作を説明するタイミング図である。FIG. 6 is a timing chart for explaining the operation of the integrated circuit of the present invention.

符号の説明Explanation of symbols

200 集積回路
210 タグメモリ制御部
SMB1〜SMBM サブメモリブロック
MB1、MB2、MB3、MB4 メモリブロック
CMB1、CMB2、CMB3、CMB4 キャッシュメモリブロック
WADD 書き込みアドレス
RADD 読み取りアドレス
200 Integrated circuit 210 Tag memory control unit SMB1 to SMBM Sub memory block MB1, MB2, MB3, MB4 Memory block CMB1, CMB2, CMB3, CMB4 Cache memory block WADD Write address RADD Read address

Claims (32)

入出力ポートが分離されており、クロック信号の1周期の間に書き込みアドレスと読み取りアドレスとが入力される場合がある集積回路において、
複数のサブメモリブロックをそれぞれ具備するメモリブロックと、
前記メモリブロックに対応するキャッシュメモリブロックと、
前記書き込みアドレスまたは前記読み取りアドレスに応答して前記メモリブロック及び前記キャッシュメモリブロックに格納されたデータを読み取るか、または前記メモリブロック及び前記キャッシュメモリブロックに前記データを書き込むタグメモリ制御部と、を具備し、
前記タグメモリ制御部は、
前記クロック信号の1周期の間に入力される前記書き込みアドレス及び前記読み取りアドレスの上位アドレスが同じである場合に、前記データの読み取り動作と書き込み動作とが前記メモリブロックと前記キャッシュメモリブロックとにそれぞれ分けられて前記1周期の間に同時に実行されるように制御することを特徴とする集積回路。
In an integrated circuit in which an input / output port is separated and a write address and a read address may be input during one cycle of a clock signal,
Memory blocks each having a plurality of sub-memory blocks;
A cache memory block corresponding to the memory block;
A tag memory control unit that reads data stored in the memory block and the cache memory block in response to the write address or the read address, or writes the data to the memory block and the cache memory block. And
The tag memory control unit
When the write address and the upper address of the read address input during one cycle of the clock signal are the same, the data read operation and the write operation are performed on the memory block and the cache memory block, respectively. integrated circuit according to claim and Turkey controls to run simultaneously during the one period is divided.
前記書き込みアドレス及び前記読み取りアドレスが相異なる場合、前記書き込みアドレス及び前記読み取りアドレスのそれぞれに対応する相異なる2個のサブメモリブロックがそれぞれデコーディングされることを特徴とする請求項1に記載の集積回路。   2. The integration according to claim 1, wherein when the write address and the read address are different, two different sub-memory blocks corresponding to the write address and the read address are respectively decoded. circuit. 前記集積回路は、
相互に分離されている書き込みアドレスデコーディングパスと読み取りアドレスデコーディングパスとを具備し、
前記サブメモリブロックは、
前記書き込みアドレスデコーディングパスと前記読み取りアドレスデコーディングパスとにそれぞれ連結されることを特徴とする請求項1に記載の集積回路。
The integrated circuit comprises:
A write address decoding path and a read address decoding path which are separated from each other;
The sub memory block is
2. The integrated circuit of claim 1, wherein the integrated circuit is connected to the write address decoding pass and the read address decoding pass, respectively.
メモリブロック内部の相異なるサブメモリブロックのうち同じ下位アドレスを有するメモリセルは、前記キャッシュメモリブロックの1つのメモリセルに対応することを特徴とする請求項1に記載の集積回路。   2. The integrated circuit according to claim 1, wherein memory cells having the same lower address among different sub-memory blocks in the memory block correspond to one memory cell of the cache memory block. 前記キャッシュメモリブロックのサイズは、前記1つのサブメモリブロックのサイズと同じであるか、それより大きいことを特徴とする請求項1に記載の集積回路。   2. The integrated circuit according to claim 1, wherein a size of the cache memory block is equal to or larger than a size of the one sub memory block. 前記タグメモリ制御部は、前記キャッシュメモリブロックに対応する前記サブメモリブロックのアドレスを表すキャッシュメモリアドレス及び前記キャッシュメモリブロックに格納されているデータが有効であるかどうかを判断する有効判断情報を格納することを特徴とする請求項1に記載の集積回路。   The tag memory control unit stores a cache memory address indicating an address of the sub memory block corresponding to the cache memory block and validity determination information for determining whether or not data stored in the cache memory block is valid. The integrated circuit according to claim 1. 前記タグメモリ制御部は、
前記サブメモリブロックのうち1つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相等しい場合において、
前記書き込みアドレスと前記読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行して前記キャッシュメモリブロックで書き込み動作を実行し、
前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項6に記載の集積回路。
The tag memory control unit
When the upper address of the write address and the upper address of the read address that select one of the sub memory blocks are equal,
If neither the write address nor the read address is the same as the cache memory address, execute a read operation on the memory block corresponding to the read address and execute a write operation on the cache memory block,
The integrated circuit according to claim 6, wherein the read operation and the write operation are performed simultaneously.
前記タグメモリ制御部は、
前記サブメモリブロックのうち1つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相等しい場合において、
前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致すれば、
前記キャッシュメモリアドレスと一致したアドレスに対応する動作が前記キャッシュメモリブロックで実行され、一致しないアドレスに対応する動作が前記メモリブロックで実行され、
前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、
前記キャッシュメモリブロックで読み取り動作が実行されて前記メモリブロックで書き込み動作が実行され、
前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項6に記載の集積回路。
The tag memory control unit
When the upper address of the write address and the upper address of the read address that select one of the sub memory blocks are equal,
If one of the write address and the read address matches the cache memory address,
An operation corresponding to an address that matches the cache memory address is performed in the cache memory block, and an operation corresponding to an address that does not match is performed in the memory block;
If both the write address and the read address match the cache memory address,
A read operation is performed on the cache memory block and a write operation is performed on the memory block;
The integrated circuit according to claim 6, wherein the read operation and the write operation are performed simultaneously.
前記タグメモリ制御部は、
前記サブメモリブロックのうち1つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相異なる場合において、
前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致すれば、
前記キャッシュメモリアドレスと一致したアドレスに対応する動作が前記キャッシュメモリブロックで実行され、一致しないアドレスに対応する動作が前記メモリブロックで実行され、
前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、
前記キャッシュメモリブロックで読み取り動作が実行されて前記メモリブロックで書き込み動作が実行され、
前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致しなければ、
前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作が実行され、
前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項6に記載の集積回路。
The tag memory control unit
When the upper address of the write address and the upper address of the read address for selecting one of the sub memory blocks are different,
If one of the write address and the read address matches the cache memory address,
An operation corresponding to an address that matches the cache memory address is performed in the cache memory block, and an operation corresponding to an address that does not match is performed in the memory block;
If both the write address and the read address match the cache memory address,
A read operation is performed on the cache memory block and a write operation is performed on the memory block;
If both the write address and the read address do not match the cache memory address,
A write operation and a read operation are executed in different sub memory blocks corresponding to the write address and the read address among the selected memory blocks,
The integrated circuit according to claim 6, wherein the read operation and the write operation are performed simultaneously.
前記データは、SDRまたはDDRで入力または出力されることを特徴とする請求項1に記載の集積回路。   The integrated circuit according to claim 1, wherein the data is input or output by SDR or DDR. 入出力ポートが分離されている集積回路において、
複数のサブメモリブロックをそれぞれ具備するメモリブロックと、
前記それぞれのメモリブロックに対応し、所定のキャッシュ制御信号に応答して格納されたデータが出力されるか、またはデータが書き込まれる複数のキャッシュメモリブロックと、
前記それぞれのメモリブロックに対応し、書き込みアドレスまたは読み取りアドレス、所定のデコーディング制御信号に応答して前記サブメモリブロックを制御するデコーディング信号を発生する複数のデコーディング部と、
書き込み選択信号または読み取り選択信号、前記書き込みアドレスまたは前記読み取りアドレスを受信し、クロック信号の1周期の間に入力される前記書き込みアドレスと前記読み取りアドレスとが同じである場合に、前記データの書き込み動作及び読み取り動作が前記1周期の間に同時に実行されるように前記キャッシュ制御信号または前記デコーディング制御信号を発生するタグメモリ制御部と、を具備することを特徴とする集積回路。
In an integrated circuit where the input and output ports are separated,
Memory blocks each having a plurality of sub-memory blocks;
A plurality of cache memory blocks corresponding to the respective memory blocks, in which data stored in response to a predetermined cache control signal is output or data is written;
A plurality of decoding units corresponding to the respective memory blocks, and generating a decoding signal for controlling the sub memory block in response to a write address or a read address, and a predetermined decoding control signal;
Write select signal or a read select signal, receiving the write address or the read address, if said write address input during one cycle of the clock signal and the read address are the same, it said data write operation and an integrated circuit read operation, characterized by comprising: a tag memory control unit for generating by Ru runs urchin said cache control signal and the decoded control signals simultaneously during the single cycle.
前記デコーディング部は、それぞれ、前記サブメモリブロックに対応する複数のデコーディング回路を具備することを特徴とする請求項11に記載の集積回路。   12. The integrated circuit of claim 11, wherein each of the decoding units includes a plurality of decoding circuits corresponding to the sub memory blocks. 前記デコーディング回路は、相互に分離されている書き込みアドレスデコーディングパス及び読み取りアドレスデコーディングパスと連結され、
前記サブメモリブロックは、前記書き込みアドレスデコーディングパスと前記読み取りアドレスデコーディングパスとにそれぞれ連結されることを特徴とする請求項12に記載の集積回路。
The decoding circuit is connected to a write address decoding path and a read address decoding path which are separated from each other,
The integrated circuit of claim 12, wherein the sub memory block is connected to the write address decoding pass and the read address decoding pass, respectively.
前記書き込みアドレス及び前記読み取りアドレスが相異なる場合に、前記書き込みアドレス及び前記読取りアドレスにそれぞれ対応する相異なる2個のサブメモリブロックがそれぞれデコーディングされることを特徴とする請求項11に記載の集積回路。   The integrated circuit of claim 11, wherein when the write address and the read address are different, two different sub-memory blocks respectively corresponding to the write address and the read address are decoded. circuit. 前記メモリブロック内部の相異なるサブメモリブロックのうち同じ下位アドレスを有するメモリセルは、前記キャッシュメモリブロックの1つのメモリセルに対応することを特徴とする請求項11に記載の集積回路。   12. The integrated circuit according to claim 11, wherein memory cells having the same lower address among different sub-memory blocks in the memory block correspond to one memory cell of the cache memory block. 前記キャッシュメモリブロックのサイズは、前記1つのサブメモリブロックのサイズと同じか、それより大きいことを特徴とする請求項11に記載の集積回路。   12. The integrated circuit according to claim 11, wherein the size of the cache memory block is equal to or larger than the size of the one sub memory block. 前記タグメモリ制御部は、前記キャッシュメモリブロックに対応する前記サブメモリブロックのアドレスを表すキャッシュメモリアドレス及び前記キャッシュメモリブロックに格納されているデータが有効であるかを判断する有効判断情報を格納することを特徴とする請求項11に記載の集積回路。   The tag memory control unit stores a cache memory address indicating an address of the sub memory block corresponding to the cache memory block and validity determination information for determining whether data stored in the cache memory block is valid. The integrated circuit according to claim 11. 前記タグメモリ制御部は、
前記サブメモリブロックのうち1つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相等しい場合において、
前記書き込みアドレスと前記読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記デコーディング制御信号を発生して前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュ制御信号を発生して前記キャッシュメモリブロックで書き込み動作を実行し、
前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項17に記載の集積回路。
The tag memory control unit
When the upper address of the write address and the upper address of the read address that select one of the sub memory blocks are equal,
If neither the write address nor the read address is the same as the cache memory address, the decoding control signal is generated to perform a read operation on the memory block corresponding to the read address, and the cache control signal is Occurs and performs a write operation on the cache memory block;
The integrated circuit of claim 17, wherein the read operation and the write operation are performed simultaneously.
前記タグメモリ制御部は、
前記サブメモリブロックのうち1つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相等しい場合において、
前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致すれば、
前記キャッシュ制御信号を発生して前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記デコーディング制御信号を発生して前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行し、
前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、
前記キャッシュ制御信号を発生して前記キャッシュメモリブロックで読み取り動作を実行し、前記デコーディング制御信号を発生して前記メモリブロックで書き込み動作を実行し、
前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項17に記載の集積回路。
The tag memory control unit
When the upper address of the write address and the upper address of the read address that select one of the sub memory blocks are equal,
If one of the write address and the read address matches the cache memory address,
An operation corresponding to an address that matches the cache memory address by generating the cache control signal is executed in the cache memory block, and an operation corresponding to an address that does not match the cache memory address by generating the decoding control signal Is executed on the memory block,
If both the write address and the read address match the cache memory address,
Generating the cache control signal to perform a read operation in the cache memory block, generating the decoding control signal to perform a write operation in the memory block;
The integrated circuit of claim 17, wherein the read operation and the write operation are performed simultaneously.
前記タグメモリ制御部は、
前記サブメモリブロックのうち1つを選択する前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが相異なる場合において、
前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致すれば、
前記キャッシュ制御信号を発生して前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記デコーディング制御信号を発生して前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行し、
前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、
前記キャッシュ制御信号を発生して前記キャッシュメモリブロックで読み取り動作を実行し、前記デコーディング制御信号を発生して前記メモリブロックで書き込み動作を実行し、
前記書き込みアドレス及び前記読み取りアドレスが全て前記キャッシュメモリアドレスと一致しなければ、
前記デコーディング制御信号を発生して前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作を実行し、
前記読み取り動作及び前記書き込み動作が同時に実行されることを特徴とする請求項17に記載の集積回路。
The tag memory control unit
When the upper address of the write address and the upper address of the read address for selecting one of the sub memory blocks are different,
If one of the write address and the read address matches the cache memory address,
An operation corresponding to an address that matches the cache memory address by generating the cache control signal is executed in the cache memory block, and an operation corresponding to an address that does not match the cache memory address by generating the decoding control signal Is executed on the memory block,
If both the write address and the read address match the cache memory address,
Generating the cache control signal to perform a read operation in the cache memory block, generating the decoding control signal to perform a write operation in the memory block;
If the write address and the read address do not all match the cache memory address,
Generating a decoding control signal to perform a write operation and a read operation in different sub-memory blocks corresponding to the write address and the read address among the selected memory blocks;
The integrated circuit of claim 17, wherein the read operation and the write operation are performed simultaneously.
前記データは、SDRまたはDDRで入力または出力されることを特徴とする請求項11に記載の集積回路。   The integrated circuit according to claim 11, wherein the data is input or output by SDR or DDR. 入出力ポートが分離されており、クロック信号の1周期の間に書き込みアドレスと読み取りアドレスとが入力される場合があり、複数のサブメモリブロックをそれぞれ具備する複数のメモリブロックと、前記メモリブロックに対応するキャッシュメモリブロックを具備する集積回路のデータの読み取り動作と書き込み動作とを同時に実行する方法において、
(a)クロック信号の1周期の間に前記書き込みアドレスと前記読み取りアドレスとが共に入力されるか、前記書き込みアドレス及び前記読み取りアドレスのうち何れか1つだけ入力されるかを判断する段階と、
(b)前記書き込みアドレスと前記読み取りアドレスとが共に入力されれば、前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一であるかどうかを判断する段階と、
(c)前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一であれば、前記書き込みアドレスと前記読み取りアドレスとが所定のキャッシュメモリアドレスと同一であるかどうかを判断する段階と、
(d)前記書き込みアドレスと前記読み取りアドレスのいずれも前記キャッシュメモリアドレスと同一でなければ、前記読取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する段階と、を具備し、
前記(d)段階は、前記読み取り動作と前記書き込み動作とを前記クロック信号の1周期の間に同時に実行することを特徴とするデータの読み取り動作と書き込み動作とを同時に実行する方法。
The input / output ports are separated, and a write address and a read address may be input during one cycle of the clock signal. A plurality of memory blocks each having a plurality of sub memory blocks, and the memory block In a method of simultaneously executing a data read operation and a write operation of an integrated circuit having a corresponding cache memory block,
(A) determining whether the write address and the read address are input together or only one of the write address and the read address is input during one cycle of the clock signal;
(B) determining whether the upper address of the write address and the upper address of the read address are the same if the write address and the read address are input together;
(C) if the upper address of the write address and the upper address of the read address are the same, determining whether the write address and the read address are the same as a predetermined cache memory address;
(D) If neither the write address nor the read address is the same as the cache memory address, performing a read operation on the memory block corresponding to the read address and executing a write operation on the cache memory block And comprising
Step (d), how to perform the read operation and the write operation and the clock signal of 1 running simultaneously during a period to the data characterizing the benzalkonium the read and write operations at the same time.
前記(d)段階は、
(d1)前記キャッシュメモリブロックに格納されているデータが有効であるかどうかを判断する段階と、
(d2)前記キャッシュメモリブロックに格納されているデータが有効でなければ、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックで書き込み動作を実行する段階と、
(d3)前記キャッシュメモリブロックに書き込まれたデータに関する情報をアップデートさせる段階と、
(d4)前記キャッシュメモリブロックに格納されているデータが有効であれば、前記読み取りアドレスに対応する前記メモリブロックで読み取り動作を実行し、前記キャッシュメモリブロックに格納されている有効なデータを読み取って対応するメモリブロックに書き込む段階と、
(d5)前記キャッシュメモリブロックに書き込み動作を実行し、前記キャッシュメモリブロックに書き込まれたデータに関する情報をアップデートさせる段階と、を具備することを特徴とする請求項22に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
In step (d),
(D1) determining whether the data stored in the cache memory block is valid;
(D2) If the data stored in the cache memory block is not valid, performing a read operation on the memory block corresponding to the read address and executing a write operation on the cache memory block;
(D3) updating information related to data written to the cache memory block;
(D4) If the data stored in the cache memory block is valid, a read operation is executed on the memory block corresponding to the read address, and the valid data stored in the cache memory block is read. Writing to the corresponding memory block;
The data read operation according to claim 22, further comprising: (d5) performing a write operation on the cache memory block to update information on the data written to the cache memory block. A method of executing a write operation simultaneously.
前記キャッシュメモリアドレスは、前記キャッシュメモリブロックに対応する前記サブメモリブロックのアドレスを表すことを特徴とする請求項22に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。   23. The method according to claim 22, wherein the cache memory address represents an address of the sub memory block corresponding to the cache memory block. 前記(c)段階は、
(c1)前記書き込みアドレス及び前記読み取りアドレスのうち1つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行する段階と、
(c2)前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行し、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる段階と、を具備することを特徴とする請求項22に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
In step (c),
(C1) If one of the write address and the read address matches the cache memory address, an operation corresponding to the address that matches the cache memory address is executed in the cache memory block, and the cache memory address matches Performing an operation corresponding to a non-address on the memory block;
(C2) If both the write address and the read address match the cache memory address, a read operation is executed in the cache memory block, a write operation is executed in the memory block, and the data written in the memory block 23. The method for simultaneously executing a data reading operation and a data writing operation according to claim 22, further comprising the step of updating information on the data.
前記(b)段階は、
(b1)前記書き込みアドレスの上位アドレスと前記読み取りアドレスの上位アドレスとが同一でなければ、前記書き込みアドレスと前記読み取りアドレスとが前記キャッシュメモリアドレスと一致しているかを判断する段階と、
(b2)前記書き込みアドレス及び前記読み取りアドレスのうち何れか1つが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致したアドレスに対応する動作を前記キャッシュメモリブロックで実行し、前記キャッシュメモリアドレスと一致しないアドレスに対応する動作を前記メモリブロックで実行する段階と、
(b3)前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリブロックで読み取り動作を実行し、前記メモリブロックで書き込み動作を実行した後、前記メモリブロックに書き込まれたデータに関する情報をアップデートさせる段階と、
(b4)前記書き込みアドレス及び前記読み取りアドレスが共に前記キャッシュメモリアドレスと一致しなければ、前記選択されたメモリブロックのうち前記書き込みアドレス及び前記読み取りアドレスに対応する相異なるサブメモリブロックで書き込み動作及び読み取り動作を実行する段階と、を具備することを特徴とする請求項22に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
The step (b)
(B1) If the upper address of the write address and the upper address of the read address are not the same, determining whether the write address and the read address match the cache memory address;
(B2) If any one of the write address and the read address matches the cache memory address, an operation corresponding to the address that matches the cache memory address is executed in the cache memory block, and the cache memory address Performing an operation on the memory block corresponding to an address that does not match
(B3) If both the write address and the read address coincide with the cache memory address, a read operation is executed in the cache memory block, a write operation is executed in the memory block, and then written in the memory block Updating information about the data,
(B4) If both the write address and the read address do not match the cache memory address, a write operation and a read are performed in different sub memory blocks corresponding to the write address and the read address among the selected memory blocks. The method of performing the data reading operation and the writing operation simultaneously according to claim 22, comprising: performing an operation.
前記(a)段階は、
(a1)前記書き込みアドレス及び前記読み取りアドレスのうち何れか1つだけ入力されれば、入力された前記書き込みアドレス及び前記読み取りアドレスのうち何れか1つが前記キャッシュメモリアドレスと一致するかを判断する段階と、
(a2)入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致すれば、前記キャッシュメモリアドレスと一致した書き込みアドレスまたは読み取りアドレスに対応する動作を前記キャッシュメモリブロックで実行する段階と、
(a3)入力された前記書き込みアドレスまたは前記読み取りアドレスが前記キャッシュメモリアドレスと一致しなければ、前記キャッシュメモリアドレスと一致しない書き込みアドレスまたは読み取りアドレスに対応する動作を前記メモリブロックで実行する段階と、を具備することを特徴とする請求項22に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。
The step (a) includes:
(A1) If only one of the write address and the read address is input, determining whether one of the input write address and the read address matches the cache memory address When,
(A2) If the inputted write address or read address matches the cache memory address, executing an operation corresponding to the write address or read address matching the cache memory address in the cache memory block;
(A3) If the inputted write address or read address does not match the cache memory address, performing an operation corresponding to the write address or read address not matching the cache memory address in the memory block; 23. The method according to claim 22, wherein the data read operation and the data write operation are performed simultaneously.
前記メモリブロック内部の相異なるサブメモリブロックのうち同じ下位アドレスを有するメモリセルは、前記キャッシュメモリブロックの1つのメモリセルに対応することを特徴とする請求項22に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。   23. The data reading operation and writing according to claim 22, wherein memory cells having the same lower address among different sub-memory blocks in the memory block correspond to one memory cell of the cache memory block. A method of performing operations simultaneously. 前記キャッシュメモリブロックのサイズは、前記1つのサブメモリブロックのサイズと同じか、それより大きいことを特徴とする請求項22に記載のデータの読み取り動作と書き込み動作を同時に実行する方法。   The method according to claim 22, wherein a size of the cache memory block is equal to or larger than a size of the one sub memory block. 前記データは、SDRまたはDDRで入力または出力されることを特徴とする請求項22に記載のデータの読み取り動作と書き込み動作とを同時に実行する方法。   The method according to claim 22, wherein the data is input or output by SDR or DDR. 分離された入力データポート及び出力データポートと、
複数のサブメモリブロックを具備するメモリブロックと、
1つのサブメモリブロックに格納されるデータと少なくとも同じ量のデータを格納できるキャッシュメモリブロックと、
対応するサブメモリブロックアドレスを有するキャッシュメモリブロックに有効なエントリーをはり、読み取り動作と書き込み動作とが実行されるアドレスが同じサブメモリブロックを指示する時、2つの動作のうち1つの動作を前記キャッシュメモリブロックを利用して実行することによって読み取り動作と書き込み動作とをクロック信号の1周期の間に同時に実行するように制御するタグメモリ制御部と、を具備することを特徴とする集積回路。
A separate input and output data port; and
A memory block comprising a plurality of sub-memory blocks;
A cache memory block capable of storing at least the same amount of data as data stored in one sub-memory block;
When a valid entry is made in a cache memory block having a corresponding sub memory block address, and the address at which the read operation and the write operation are performed indicates the same sub memory block, one of two operations is performed as the cache. integrated circuit, characterized by comprising a control to filter Gumemori controller to execute concurrently the read and write operations during one cycle of the clock signal by performing using the memory block.
メモリブロックを複数のサブメモリブロックに区分する段階と、
1つのサブメモリブロックに格納されるデータと少なくとも同じ量のデータを格納できるキャッシュメモリブロックを維持する段階と、
対応するサブメモリブロックアドレスを有するキャッシュメモリブロックに有効なエントリーをはる段階と、
読み取り動作と書き込み動作とが実行されるアドレスが同じメモリブロックを指示する時、2つの動作のうち1つの動作を前記キャッシュメモリブロックを利用して実行することによって読み取り動作と書き込み動作とをクロック信号の1周期の間に同時に実行
可能な場合に、相異なるサブメモリブロックでクロック信号の1周期の間に同時に読み取り動作と書き込み動作とを実行する段階と、を具備することを特徴とする、集積回路で同時に読み取り動作及び書き込み動作を実行する方法。
Partitioning the memory block into a plurality of sub-memory blocks;
Maintaining a cache memory block capable of storing at least as much data as data stored in one sub-memory block;
Making a valid entry in a cache memory block having a corresponding sub-memory block address;
When a memory block having the same address at which a read operation and a write operation are performed is designated, a clock signal is used for the read operation and the write operation by executing one of the two operations using the cache memory block. performed simultaneously during one cycle of,
Performing simultaneous read and write operations in different sub memory blocks during one period of the clock signal, if possible, in an integrated circuit simultaneously How to run.
JP2003366262A 2002-10-26 2003-10-27 Integrated circuit and method capable of simultaneously executing data reading operation and writing operation Expired - Fee Related JP4220351B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20020065682A KR100518538B1 (en) 2002-10-26 2002-10-26 Integrated circuit capable of operating data read and data writing simultaneously and method thereof

Publications (2)

Publication Number Publication Date
JP2004146051A JP2004146051A (en) 2004-05-20
JP4220351B2 true JP4220351B2 (en) 2009-02-04

Family

ID=32226196

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003366262A Expired - Fee Related JP4220351B2 (en) 2002-10-26 2003-10-27 Integrated circuit and method capable of simultaneously executing data reading operation and writing operation

Country Status (4)

Country Link
JP (1) JP4220351B2 (en)
KR (1) KR100518538B1 (en)
CN (1) CN100367240C (en)
DE (1) DE10349949A1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7722919B2 (en) 2002-11-11 2010-05-25 Semiconductor Energy Laboratory Co., Inc. Manufacturing method of emitting device
US8105855B2 (en) 2002-06-19 2012-01-31 Semiconductor Energy Laboratory Co., Ltd. Method of manufacturing light emitting device
US10836156B2 (en) 2016-10-05 2020-11-17 Hewlett-Packard Development Company, L.P. Fluid ejection device capping

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100518566B1 (en) 2003-04-15 2005-10-04 삼성전자주식회사 Method for controlling the operation of integrated circuit capable of operating data read and data writing simultaneously
KR100518567B1 (en) * 2003-04-15 2005-10-04 삼성전자주식회사 Integrated circuit having memory cell array configuration capable of operating data reading and data writing simultaneously

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1171094C (en) * 1989-01-27 2004-10-13 松下电器产业株式会社 Internal signal/monitor of integrated circuit
IE940855A1 (en) * 1993-12-20 1995-06-28 Motorola Inc Data processor with speculative instruction fetching and¹method of operation
CN1129188C (en) * 1998-01-07 2003-11-26 盛群半导体股份有限公司 High-density line decoder for semiconductor ROM
US6122710A (en) * 1998-02-17 2000-09-19 International Business Machines Corporation Dynamic word line driver for cache

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8105855B2 (en) 2002-06-19 2012-01-31 Semiconductor Energy Laboratory Co., Ltd. Method of manufacturing light emitting device
US8357551B2 (en) 2002-06-19 2013-01-22 Semiconductor Energy Labortory Co., Ltd. Method of manufacturing light emitting device
US7722919B2 (en) 2002-11-11 2010-05-25 Semiconductor Energy Laboratory Co., Inc. Manufacturing method of emitting device
US8211492B2 (en) 2002-11-11 2012-07-03 Semiconductor Energy Laboratory Co., Ltd. Manufacturing method of emitting device
US10836156B2 (en) 2016-10-05 2020-11-17 Hewlett-Packard Development Company, L.P. Fluid ejection device capping
US11325371B2 (en) 2016-10-05 2022-05-10 Hewlett-Packard Development Company, L.P. Fluid ejection device capping

Also Published As

Publication number Publication date
JP2004146051A (en) 2004-05-20
KR100518538B1 (en) 2005-10-04
CN100367240C (en) 2008-02-06
KR20040036477A (en) 2004-04-30
DE10349949A1 (en) 2004-05-27
CN1507051A (en) 2004-06-23

Similar Documents

Publication Publication Date Title
US7379363B2 (en) Method and apparatus for implementing high speed memory
US20090276548A1 (en) Dynamically setting burst type of a double data rate memory device
JP4618758B2 (en) Method for driving quad data rate synchronous semiconductor memory device
JPH1031886A (en) Random access memory
US6523755B2 (en) Semiconductor memory device
US6304502B1 (en) Semiconductor memory device connected to memory controller and memory system employing the same
US6725325B2 (en) Semiconductor memory device having a double data rate (DDR) mode and utilizing a plurality of comparison circuits to prevent errors due to a late write function
US5835445A (en) Semiconductor integrated circuit device having a synchronous output function with a plurality of external clocks
JP4220351B2 (en) Integrated circuit and method capable of simultaneously executing data reading operation and writing operation
KR20050034402A (en) Semiconductor memory device capable of controlling burst length without resetting mode of operation and memory system including the same
EP1248267A2 (en) Semiconductor memory device and information processing system
US11308010B2 (en) Memory system having memories of different capacities
US7193903B2 (en) Method of controlling an integrated circuit capable of simultaneously performing a data read operation and a data write operation
US6826088B2 (en) Method and integrated circuit capable of reading and writing data simultaneously
US7395399B2 (en) Control circuit to enable high data rate access to a DRAM with a plurality of areas
KR100518567B1 (en) Integrated circuit having memory cell array configuration capable of operating data reading and data writing simultaneously
US11120851B1 (en) Memory apparatus and burst read and burst write method thereof
KR102355595B1 (en) Memory apparatus and method of burst read and burst write thereof
KR100672029B1 (en) Apparatus and method for reducing operation time delay generated DRAM hidden refresh operation
JP2009217310A (en) Memory access method and memory access device
JP2822913B2 (en) Semiconductor storage device
JP2004507817A (en) DRAM control circuit
US20040210730A1 (en) Dram control circuit
JPH05334198A (en) Memory controlling device
JPH0667994A (en) Memory control circuit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080130

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20080201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080507

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080616

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081001

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20081028

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081113

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4220351

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees