KR100195750B1 - A memory which concurrently accesses data of an equal address - Google Patents

A memory which concurrently accesses data of an equal address Download PDF

Info

Publication number
KR100195750B1
KR100195750B1 KR1019960037623A KR19960037623A KR100195750B1 KR 100195750 B1 KR100195750 B1 KR 100195750B1 KR 1019960037623 A KR1019960037623 A KR 1019960037623A KR 19960037623 A KR19960037623 A KR 19960037623A KR 100195750 B1 KR100195750 B1 KR 100195750B1
Authority
KR
South Korea
Prior art keywords
address
buffer
data
memory
generator
Prior art date
Application number
KR1019960037623A
Other languages
Korean (ko)
Other versions
KR19980017806A (en
Inventor
이수정
Original Assignee
전주범
대우전자주식회사
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 전주범, 대우전자주식회사 filed Critical 전주범
Priority to KR1019960037623A priority Critical patent/KR100195750B1/en
Publication of KR19980017806A publication Critical patent/KR19980017806A/en
Application granted granted Critical
Publication of KR100195750B1 publication Critical patent/KR100195750B1/en

Links

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/0844Multiple simultaneous or quasi-simultaneous cache accessing
    • G06F12/0846Cache with multiple tag or data arrays being simultaneously accessible
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/06Address interface arrangements, e.g. address buffers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Static Random-Access Memory (AREA)
  • Storage Device Security (AREA)

Abstract

본 발명은 동일 어드레스 동시 억세스 기억 장치에 관한 것으로서, 중앙 처리 장치로부터의 어드레스 1,2와 Tag 1,2를 버퍼링하는 어드레스 버퍼(10)와; 상기 어드레스1를 행어드레스1과 열어드레스1로 발생시키는 제 1 어드레스 발생부(20); 상기 행어드레스1과 열어드레스1을 버퍼링하는 제 1 버퍼(30); 상기 어드레스2를 행어드레스2와 열어드레스2로 발생시키는 제 2 어드레스 발생부(40); 상기 행어드레스2와 열어드레스2를 버퍼링하는 제 2 버퍼(50); 상기 어드레스 1과 어드레스 2가 동일 한 경우, 교차 억세스가 발생하지 않도록 상기 Tag 1과 Tag 2를 역다중화시킨 후, 비교하여 그 결과를 출력하는 교차 억세스 방지부(60); 상기 비교 결과에 따라 Tag 1을 발생시키는 제 1 Tag 발생부(70); 상기 비교 결과에 따라 Tag 2를 발생시키는 제 2 Tag 발생부(80); 제어 신호 발생부(90); 데이터를 저장하는 메모리(100); 데이터를 입출력시키는 제 1 데이터 입출력 버퍼(110); 및 데이터를 입출력시키는 제 2 데이터 입출력 버퍼(120)로 구성되며, 상기와 같은 본 발명에 따르면 다양한 비트 폭을 가지는 여러 데이타를 동일 어드레스에 동시에 억세스하고, 상기 동일 어드레스를 갖는 데이터들 중 억세스하고자 하는 데이터만을 억세스하게 된다는 효과가 있다.The present invention relates to an address simultaneous access storage device, which comprises an address buffer (10) for buffering addresses 1, 2 and tags 1, 2 from a central processing unit; A first address generating unit (20) for generating the address 1 with the row address 1 and opening the address 1; A first buffer 30 for buffering the row address 1 and the opened dress 1; A second address generator (40) for generating the address 2 with the row address 2 and opening the address 2; A second buffer 50 for buffering the row address 2 and the open address 2; A cross access preventing unit (60) for demultiplexing the Tag 1 and the Tag 2 so that cross access does not occur when the address 1 and the address 2 are the same, and then outputting a result of the comparison; A first tag generator 70 for generating Tag 1 according to the comparison result; A second tag generator 80 for generating Tag 2 according to the comparison result; A control signal generator 90; A memory (100) for storing data; A first data input / output buffer 110 for inputting / outputting data; And a second data input / output buffer 120 for inputting and outputting data. According to the present invention, as described above, various data having various bit widths are simultaneously accessed to the same address, and data It has an effect that only data is accessed.

Description

동일 어드레스 동시 억세스 기억 장치 (A memory which concurrently accesses data of an equal address)A memory which concurrently accesses data of an equal address.

본 발명은 동일 어드레스(address) 동시 억세스(Access) 기억 장치에 관한 것으로서, 특히 동일 어드레스를 가진 데이터를 동시에 억세스할 수 있을 뿐만 아니라 동일 어드레스를 가진 데이터를 일정 비트 단위로 나누어서 억세스하므로써, 다양한 비트 폭(Bit width)을 갖는 여러 데이타를 동일 어드레스에 동시에 억세스하고, 상기 동일 어드레스를 갖는 데이터들 중 억세스하고자 하는 데이터만을 억세스하도록 된 동일 어드레스 동시 억세스 기억 장치에 관한 것이다.The present invention relates to an address simultaneous access storage device capable of simultaneously accessing data having the same address and accessing data having the same address by dividing it by a predetermined bit unit, Address simultaneous access storage device which simultaneously accesses data having a bit width at the same address and accesses only data to be accessed among the data having the same address.

일반적으로 상기 데이터 기억 장치는 크게 동작 원리와 입출력 포트의 수에 따라 구분할 수 있는데, 여기서 입출력 포트의 수에 따른 구분만 해보면, 단일 포트 기억 장치(single-port memory)와 이중 포트 기억 장치(dual-port memory)로 구분된다.In general, the data storage device can be classified according to the operation principle and the number of input / output ports. Here, a single-port memory and a dual- port memory.

상기 단일 포트 기억 장치는 일반적인 기억 장치로서, 하나의 어드레스 입력과 제어 신호 입력에 따라 하나의 데이터를 입출력시키는 기억 장치이다.The single-port memory device is a general memory device, and is a memory device that inputs and outputs one data in accordance with one address input and a control signal input.

반면에, 상기 이중 포트 기억 장치는 2개의 입출력 단자를 가지며 쌍방의 포트로부터 독립적으로 억세스가 가능한 기억장치를 말한다. 즉, 2개의 포트가 모두 어드레스 입력, 제어 신호 입력을 가지고 서로 독립적으로 데이터를 억세스할 수 있는 장치를 말한다.On the other hand, the dual port memory device has two input / output terminals and is a memory device capable of accessing independently from both ports. That is, the two ports are all capable of accessing data independently of each other with an address input and a control signal input.

여기서, 상기 억세스 란 제어 신호에 따라 데이터 기억 장치에 데이터를 쓰거나(WRITE), 기억 장치에 저장되어 있는 데이터를 읽거나(READ), 혹은 기억 장치에 저장되어 있는 데이터를 탐색(SEARCH)하는 모든 작업을 말한다.Here, the access refers to all operations (WRITE) of data to or from the data storage device according to a control signal, reading (READ) of data stored in the storage device, or search of data stored in the storage device .

도 1은 상기와 같은 종래 이중 포트 기억 장치의 구성을 도시한 블록도로서, 도 1에 도시된 종래의 이중 포트 기억 장치는 어드레스 버퍼(2)와 제 1 행복호부(4), 제 1 열복호부(6), 제 2 행복호부(8), 제 2 열복호부(10), 제어 신호 발생부(12), 메모리(14), 제 1 데이터 입출력 버퍼(16) 및 제 2 데이터 입출력 버퍼(18)로 구성된다.FIG. 1 is a block diagram showing the configuration of a conventional dual port memory device as described above. The conventional dual port memory device shown in FIG. 1 includes an address buffer 2, a first happy memory 4, A first data input / output buffer 16, and a second data input / output buffer 18, a second memory controller 6, a second happy memory 8, a second memory controller 10, a control signal generator 12, a memory 14, .

상기 어드레스 버퍼(2)는 중앙 처리 장치(도시되지 않음: CPU)로부터 어드레스 버스(Address bus)를 통하여 전송되는 어드레스들을 어드레스 비트 단위(8bits: A0 ∼A7 와 A0'∼A7')로 입력받아 버퍼링한다.The address buffer 2 receives addresses transmitted from a central processing unit (not shown) via an address bus in units of address bits (8 bits: A0 to A7 and A0 'to A7'), do.

여기서, 어드레스 비트란 어드레스를 지정하기 위한 비트로, 예를 들어 어드레스 비트가 8 bits이면, 0에서 255(28= 256)까지의 어드레스를 지정할 수 있으며, 상기 어드레스 버스는 상기 어드레스 지정을 위한 전송로로서, 단방향 버스(unidirectional bus)이다.Here, the address bit is a bit for designating an address. For example, if the address bit is 8 bits, an address from 0 to 255 (28 = 256) can be designated, and the address bus can be designated as a transmission path for address designation , And a unidirectional bus.

상기 어드레스 버퍼(2)에 버퍼링된 8비트 어드레스는 행어드레스와 열어드레스로 이루어지는데, 통상 상기 8비트 어드레스중 하위 4비트(A0∼A3)는 행어드레스이고, 상위 4비트(A4∼A7)는 열어드레스라 칭한다.The 8-bit address buffered in the address buffer 2 is composed of a row address and an open address. Usually, the lower 4 bits (A0 to A3) of the 8-bit address are row addresses and the upper 4 bits (A4 to A7) Called open dress.

상기 제 1 행복호부(4)는 상기 어드레스 버퍼(2)로부터 입력되는 행어드레스(하위 4비트: A0∼A3)를 복호화시키고, 상기 제 1 열복호부(6)는 상기 어드레스 버퍼(2)로부터 입력되는 열어드레스(상위 4비트: A4∼A7)를 복호화시킨다.The first happy call section 4 decodes a row address (lower 4 bits: A0 to A3) input from the address buffer 2 and the first thermal protection section 6 inputs (Upper 4 bits: A4 to A7).

상기 제 2 행복호부(8)는 상기 어드레스 버퍼(2)로부터 입력되는 행어드레스(A0' ∼A3')를 복호화시키고, 상기 제 2 열복호부(10)는 상기 어드레스 버퍼(2)로부터 입력되는 열어드레스(A4' ∼ A7')를 복호화시킨다.The second refresh counter 8 decodes the row addresses A0 'to A3' input from the address buffer 2 and the second refresh counter 10 decodes the row addresses A0 'to A3' And decodes the dresses A4 'to A7'.

여기서, 상기 제 1 행복호부(4)와 제 1 열복호부(6)로 입력되는 어드레스(A0∼A7)와 상기 제 2 행복호부(8)와 제 2 열복호부(10)로 입력되는 어드레스(A0'∼A7')는 서로 다르다. 즉, 종래의 이중 포트 기억 장치는 서로 다른 어드레스의 데이터를 독립적으로 억세스 할 수 있으나. 동일 주소의 데이터를 동시에 억세스 할 수는 없다.The addresses A0 to A7 input to the first happy arbor 4 and the first heating resistor 6 and the addresses A0 to A7 input to the second happy arbor 8 and the second heating resistor 10 '~ A7') are different from each other. That is, the conventional dual port storage device can access data of different addresses independently. Data at the same address can not be accessed at the same time.

상기 제어 신호 발생부(12)는 상기 메모리(14)로부터 데이터를 억세스하는데 필요한 모든 제어 신호를 발생시킨다.The control signal generator 12 generates all the control signals necessary for accessing the data from the memory 14.

상기 제어 신호에는(Row address strobe)신호,(Column address strobe)신호,(Write per bit/Write enable)신호 및(Output enable) 신호가 있다. 통상 상기 제어 신호는 액티브 로우(Active low)신호이고, 각 포트마다 독립적인 제어 신호가 발생되어 한 포트의 제어 신호가 또 다른 포트를 제어할 수 없다.The control signal (Row address strobe) signal, (Column address strobe) signal, (Write per bit / Write enable) signal and (Output enable) signal. Usually, the control signal is an active low signal, and an independent control signal is generated for each port, so that the control signal of one port can not control another port.

여기서, 상기신호는신호의 액티브 로우 기간 동안 상기 어드레스 버퍼(2)로부터의 행어드레스가 상기 제 1 행복호부(4) 또는 상기 제 2 행복호부(8)로 입력되도록 하는 신호이고, 상기신호는신호의 액티브 로우기간 동안 상기 어드레스 버퍼(2)로부터의 열어드레스가 상기 제 1 열복호부(6) 또는 상기 제 2 열복호부(10)로 입력되도록 하는 신호이다.Here, The signal A signal that causes a row address from the address buffer (2) to be input to the first happy call section (4) or the second happy call section (8) during an active low period of the signal, The signal And an open address from the address buffer 2 is input to the first thermal protection unit 6 or the second thermal protection unit 10 during an active low period of the signal.

또한, 상기신호 중신호는 쓰기 사이클시, 4비트의 입력 신호에 대해 선택적으로 쓰기 가 가능하도록 하는 신호이다. 비디오 RAM에서는 한 워드 중 임의의 비트만을 변경하고 싶은 경우가 많으므로 상기신호가 자주 사용된다.신호 중신호는 입출력 신호의 쓰기가 가능하도록 하는 신호이다.In addition, Signal The signal is a signal that enables selective writing to a 4-bit input signal during a write cycle. In the video RAM, since it is often desired to change only a certain bit of one word, Signals are often used. Signal A signal is a signal that enables writing of an input / output signal.

상기신호는 읽기 사이클시, 데이터 출력을 제어하는 신호이다.remind The signal is a signal that controls the data output during a read cycle.

상기 메모리(14)는 상기 제어 신호에 의해 상기 제 1 또는 제 2 데이터 입출력 버퍼(16,18)로부터 입출력되는 데이터를 저장한다.The memory 14 stores data input / output from the first or second data input / output buffer 16 or 18 by the control signal.

여기서, 상기 메모리(14)는 기억의 최소 단위인 메모리 셀(memory cell)을 행 방향, 열 방향으로 규칙적으로 배열한 메모리 어레이(memory array)로 구현된다. 즉, 상기 메모리(14)는 도 1에 도시된 바와 같이 256개의 메모리 셀을 16개의 행(R0 ∼ R15)과 16개의 열(C0 ∼ C15)로 규칙적으로 배열한 메모리 어레이로 구현되어 있다.Here, the memory 14 is implemented as a memory array in which memory cells, which are minimum units of memory, are regularly arranged in the row direction and the column direction. That is, the memory 14 is implemented as a memory array in which 256 memory cells are regularly arranged in 16 rows (R0 to R15) and 16 columns (C0 to C15) as shown in FIG.

상기 제 1 데이터 입출력 버퍼(16)는 상기 제어 신호와 어드레스에 따라, 상기 메모리(14)에 저장되어 있던 데이터를 출력시키거나 외부로부터의 데이타를 상기 메모리(14)에 입력시킨다.The first data input / output buffer 16 outputs the data stored in the memory 14 or inputs data from the outside into the memory 14 according to the control signal and the address.

상기 제 2 데이터 입출력 버퍼(18)는 상기 제어 신호와 어드레스에 따라, 상기 메모리(14)에 저장되어 있던 데이터를 출력시키거나 외부로부터의 데이타를 상기 메모리(14)에 입력시킨다.The second data input / output buffer 18 outputs the data stored in the memory 14 or inputs data from the outside to the memory 14 according to the control signal and the address.

상기와 같이 구성된 종래 이중 포트 기억 장치의 동작을 도 1을 참조하여 살펴보기로 한다. 종래 이중 포트 기억 장치의 한 포트(이하 제 1 포트라 칭한다.)는 가장 기본적인 읽기 사이클로 동작하고, 다른 한 포트(이하 제 2 포트라 칭한다.)는 가장 기본적인 쓰기 사이클로 동작한다고 가정하자.The operation of the conventional dual port memory device configured as described above will be described with reference to FIG. It is assumed that one port (hereinafter referred to as the first port) of the conventional dual port memory device operates in the most basic read cycle and the other port (hereinafter referred to as the second port) operates in the most basic write cycle.

(1) 제 1 포트가 읽기 사이클로 동작할 경우(1) When the first port operates as a read cycle

우선, 중앙 처리 장치(도시되지 않음)로부터 읽기 사이클을 알리는 제어 신호가 제어 신호 발생부(12)로 입력된다.First, a control signal for informing a read cycle from a central processing unit (not shown) is input to the control signal generating unit 12. [

이어서, 상기 제어 신호 발생부(12)가 액티브 로우 상태의1 신호를 제 1 행복호부(4)로 출력하고, 액티브 로우 상태의1 신호를 제 1 열복호부(6)로 출력한다.Next, when the control signal generator 12 is in the active low state 1 signal to the first happy call section 4, and outputs the signal in the active low state 1 signal to the first thermal protection unit 6.

이때, 상기1 신호를 입력받은 제 1 행복호부(4)는 어드레스 버퍼(2)로부터 행어드레스를 입력받아 이를 복호화하고, 상기1 신호를 입력받은 제 1 열복호부(6)는 어드레스 버퍼(2)로부터 열어드레스를 입력받아 이를 복호화한다.At this time, 1 receives the row address from the address buffer 2 and decodes the row address, 1 signal is received, the first thermal protection unit 6 opens the address from the address buffer 2, and decodes it.

이어서, 상기 제어 신호 발생부(12)는 액티브 로우 상태의1 신호를 메모리(14)로 출력시킨다. 이때, 상기 메모리(14)는 상기 복호화된 어드레스가 가르키는 데이터를 제 1 데이터 입출력 버퍼(16)를 통해 출력시킨다.Then, the control signal generator 12 generates a control signal 1 signal to the memory 14. At this time, the memory 14 outputs the data indicated by the decoded address through the first data input / output buffer 16.

상기 출력된 데이터는 데이터 버스(Data bus)를 통하여 전송된다.The output data is transmitted through a data bus.

(2) 제 2 포트가 쓰기 사이클로 동작할 경우(2) When the second port operates as a write cycle

우선, 중앙 처리 장치(도시되지 않음)로부터 쓰기 사이클을 알리는 제어 신호가 제어 신호 발생부(12)로 입력된다.First, a control signal indicating a write cycle from a central processing unit (not shown) is input to the control signal generating unit 12. [

이어서,상기 제어 신호 발생부(12)가 액티브 로우 상태의2 신호를 제 2 행복호부(8)로 출력하고, 액티브 로우 상태의2 신호를 제 2 열복호부(10)로 출력한다.Next, when the control signal generator 12 is in the active low state 2 signal to the second happy call section 8, and outputs the signal of the active low state 2 signal to the second thermal protection unit 10.

이때, 상기2 신호를 입력받은 제 2 행복호부(8)는 어드레스 버퍼(2)로부터 행어드레스를 입력받아 이를 복호화하고, 상기2 신호를 입력받은 제 2 열복호부(10)는 어드레스 버퍼(2)로부터 열어드레스를 입력받아 이를 복호화한다.At this time, 2 receives the row address from the address buffer 2 and decodes the row address, 2 signal is input, the second thermal protection unit 10 opens the address from the address buffer 2, and decodes it.

이어서, 상기 제어 신호 발생부(12)는 액티브 로우 상태의신호를 메모리(14)로 출력시킨다. 이때, 상기 메모리(14)는 제 2 데이터 입출력 버퍼(18)로부터 입력받은 데이터를 상기 복호화된 어드레스가 가르키는 메모리 어레이에 저장시킨다.Then, the control signal generator 12 generates a control signal And outputs a signal to the memory 14. At this time, the memory 14 stores the data input from the second data input / output buffer 18 in the memory array indicated by the decoded address.

여기서, 상기 메모리(12)가 액티브 로우 상태의를 입력받은 경우, 제 2 데이터 입출력 버퍼(18)로부터 입력받은 모든 데이터를 상기 복호화된 어드레스가 가르키는 메모리 어레이에 저장시키고, 상기 메모리(12)가 액티브 로우 상태의를 입력받은 경우, 제 2 데이터 입출력 버퍼(18)로부터 4비트씩 선택적으로 데이터를 입력받아 상기 복호화된 어드레스가 가르키는 메모리 어레이에 저장시킨다.Here, when the memory 12 is in the active low state Output buffer 18 to the memory array pointed to by the decoded address, and when the memory 12 is in the active low state The data is selectively input four bits from the second data input / output buffer 18 and stored in the memory array pointed to by the decoded address.

즉, 상기 입력된 데이터가 메모리(14)에 써넣어진 것이다.That is, the input data is written in the memory 14.

그런데, 상기와 같은 종래 이중 포트 기억 장치는 동일 어드레스를 갖는 데이터를 동시에 억세스 할 수 없기 때문에, 다양한 비트폭을 갖는 데이터를 억세스하고자 할 경우, 상기 메모리(12)의 많은 영역이 불필요하게 버려져야 한다는 문제점이 있었다.However, since the conventional dual port memory device can not access data having the same address at the same time, many areas of the memory 12 should be unnecessarily discarded when accessing data having various bit widths There was a problem.

또한, 상기 메모리(12)가 쓰기 사이클 동작시에 데이터를 4비트(half byte)씩 선택적으로 입력받을 수는 있으나, 읽기 사이클 동작시에는 상기 어드레스에 해당하는 모든 데이터가 한꺼번에 출력되므로써, 동일한 어드레스를 가지고 있는 데이터 중 하나만을 읽을 수 없다는 문제점이 있었다.In addition, although the memory 12 can receive data by 4 bits (half byte) at the time of a write cycle operation, all the data corresponding to the address is output at the same time during a read cycle operation, There is a problem that only one of the data that is held can not be read.

예를 들어, 상기 메모리(14)의 어드레스당 어드레스 라인이 하나이고, 한 어드레스 라인당 비트폭은 16비트라 가정하자. 여기서, 어드레스 라인이란 한 어드레스에 배당된 행의 수를 말한다.For example, assume that there is one address line per address in the memory 14, and that the bit width per address line is 16 bits. Here, the address line is the number of rows allocated to one address.

임의의 어드레스 111에 입력될 데이터(제 1 포트)는 4비트의 비트폭을 가지며, 어드레스 001에 입력될 데이터(제 2 포트)는 6비트의 비트폭을 가질 경우, 상기 어드레스 111의 어드레스 라인에서는 12비트나 쓰여지지 않고 버려지고, 상기 어드레스 001의 어드레스 라인에서는 10비트나 쓰여지지 않고 버려지게 되므로 메모리 소자 이용률이 매우 낮았다.When the data (first port) to be input to an arbitrary address 111 has a bit width of 4 bits and the data (second port) to be input at the address 001 has a bit width of 6 bits, the address line of the address 111 12 bits are discarded without being written, and in the address line of the address 001, 10 bits are not written but discarded, and the utilization rate of the memory element is very low.

또한, 상기 어드레스 111를 데이터 1과 데이터 2가 동유하고 있는 경우 즉, 데이터 1과 데이터 2가 동일 어드레스(111)를 가지고 있는 경우, 데이터 1만을 또는 데이터 2만을 읽어갈 수 없다는 문제점이 있었다.Further, when the data 111 and the data 112 share the address 111, that is, when the data 111 and the data 112 have the same address 111, there is a problem that only the data 1 or the data 2 can be read.

따라서, 본 발명은 상기와 같은 문제점을 해결하기 위한 것으로서, 동일 어드레스를 가진 데이터를 동시에 억세스할 수 있을 뿐만 아니라 동일 어드레스를 갖는 데이터를 일정 비트 단위로 나누어서 억세스하도록 된 동일 어드레스 동시 억세스 기억 장치를 제공하는 데 그 목적이 있다.SUMMARY OF THE INVENTION Accordingly, the present invention has been made keeping in mind the above problems occurring in the prior art, and it is an object of the present invention to provide an identical address simultaneous access storage device capable of simultaneously accessing data having the same address, The purpose is to do.

상기와 같은 목적을 달성하기 위한 본 발명의 동일 어드레스 동시 억세스 기억 장치는 중앙 처리 장치로부터 어드레스에 관한 정보를 포함하는 Tag 신호 1와 실제 어드레스 1로 이루어진 어드레스 1과 어드레스에 관한 정보를 포함하는 Tag 신호 2와 실제 어드레스 2로 이루어진 어드레스 2를 입력받아 독립적으로 데이터를 억세스하는 이중 포트 기억 장치에 있어서, 상기 중앙 처리 장치로부터의 어드레스를 버퍼링하는 어드레스 버퍼와; 상기 어드레스 버퍼로부터 입력받은 실제 어드레스 1를 행어드레스와 열어드레스로 발생시키는 제 1 어드레스 발생부; 상기 제 1 어드레스 발생부로부터의 행어드레스와 열어드레스를 버퍼링하는 제 1 버퍼; 상기 어드레스 버퍼로부터 입력받은 실제 어드레스 2를 행어드레스와 열어드레스로 발생시키는 제 2 어드레스 발생부; 상기 제 2 어드레스 발생부로부터의 행어드레스와 열어드레스를 버퍼링하는 제 2 버퍼; 상기 어드레스 버퍼로부터의 Tag 신호 1과 Tag 신호 2를 역다중화시킨 후, 정해진 교차 억세스 테이블에 따라 상기 역다중화된 Tag 신호 1과 Tag 신호 2를 비교하여 서로 교차하지 않도록 하는 교차 억세스 방지부; 상기 비교 결과에 따라 상기 어드레스 버퍼로부터의 Tag 신호 1을 발생시키기 위해복호화시키는 제 1 Tag 발생부; 상기 비교 결과에 따라 어드레스 버퍼로부터의 Tag 신호 2를 발생시키기 위해 복호화시키는 제 2 Tag 발생부; 데이터 억세스에 필요한 모든 제어 신호를 발생시키는 제어 신호 발생부; 상기 제어 신호와 상기 복호화된 Tag와 어드레스에 따라 입출력되는 데이터를 저장하는 메모리; 상기 제어 신호와 상기 복호화된 Tag와 어드레스에 따라 상기 메모리에 저장되어 있던 데이터를 출력시키거나 외부로부터의 데이타를 상기 메모리에 입력시키는 제 1 데이터 입출력 버퍼; 및 상기 제어 신호와 상기 복호화된 Tag와 어드레스에 따라 상기 메모리에 저장되어 있던 데이터를 출력시키거나 외부로부터의 데이타를 상기 메모리에 입력시키는 제 2 데이터 입출력 버퍼로 구성되는 것을 특징으로 한다.In order to attain the above object, the simultaneous access storage device of the same address of the present invention includes a Tag signal 1 including information on an address, an address 1 composed of an actual address 1, and a Tag signal 2, and an address 2 made up of an actual address 2 and accessing data independently, the dual port storage device comprising: an address buffer for buffering an address from the central processing unit; A first address generator for generating an actual address 1 input from the address buffer in a row address and an open address; A first buffer for buffering a row address and an open address from the first address generator; A second address generator for generating an actual address 2 input from the address buffer in a row address and an open address; A second buffer for buffering a row address and an open address from the second address generator; A cross access preventing unit for demultiplexing the Tag signal 1 and the Tag signal 2 from the address buffer and comparing the demultiplexed Tag signal 1 and the Tag signal 2 according to a predetermined crossover access table so as not to cross each other; A first tag generator for decoding the tag signal 1 from the address buffer to generate a tag signal 1 according to the comparison result; A second tag generator for decoding the tag signal 2 from the address buffer to generate the tag signal 2 according to the comparison result; A control signal generator for generating all control signals necessary for data access; A memory for storing the control signal, the decoded Tag, and input / output data according to the address; A first data input / output buffer for outputting data stored in the memory according to the control signal, the decoded Tag and the address, or for inputting data from the outside into the memory; And a second data input / output buffer for outputting the data stored in the memory according to the control signal, the decoded Tag and the address, or for inputting data from the outside into the memory.

상기와 같은 본 발명에 따르면, 동일 어드레스를 갖는 데이터를 동시에 억세스할 수 있을 뿐 만 아니라 동일 어드레스를 가진 데이터를 일정 비트 단위로 나누어서 억세스하므로써, 다양한 비트 폭을 가지는 여러 데이타를 동일 어드레스에 동시에 억세스하고, 상기 동일 어드레스를 갖는 데이터들 중 억세스하고자 하는 데이터만을 억세스할 수 있다.According to the present invention as described above, not only data having the same address can be simultaneously accessed, but also data having the same address is accessed by dividing the data in units of certain bits, so that various data having various bit widths are accessed simultaneously to the same address , Only the data to be accessed among the data having the same address can be accessed.

도 1은 종래의 이중 포트 기억 장치를 도시한 구성 블록도,1 is a block diagram showing a conventional dual port memory device,

도 2는 본 발명에 따른 동일 어드레스 동시 억세스 기억 장치의 구성을 도시한 블록도,2 is a block diagram showing the configuration of the same-address simultaneous access storage device according to the present invention;

도 3의 (a)는 교차 억세스 테이블의 일예를 도시한 도면,3 (a) shows an example of a crossover access table,

(b)는 상기 교차 억세스 테이블에 따라 교차 억세스가 발생하지 않도록 동일 어드레스 데이타를 4비트 단위로 동시에 억세스하는 과정을 도시한 도면,(b) shows a process of simultaneously accessing the same address data on a 4-bit basis so that cross access does not occur according to the cross access table;

도 4는 상기 도 3의 (a)에 도시된 교차 억세스 테이블에 따라 동일 어드레스의 메모리에 데이타를 써넣는 과정을 도시한 도면,FIG. 4 is a diagram illustrating a process of writing data in a memory of the same address according to the crossover access table shown in FIG. 3 (a)

도 5는 상기 도 3의 (a)에 도시된 교차 억세스 테이블에 따라 동일 어드레스의 메모리에 저장된 데이터를 읽어가는 과정을 도시한 도면이다.5 is a diagram illustrating a process of reading data stored in a memory of the same address according to the crossover access table shown in FIG. 3 (a).

* 도면의 주요부분에 대한 부호의 설명 *Description of the Related Art [0002]

10: 어드레스 버퍼 20: 제 1 어드레스 발생부10: address buffer 20: first address generator

22: 제 1 행복호부 24: 제 1 열복호부22: The First Happiness 24: The First Heavenly Father

30: 제 1 버퍼 32: 제 1 행어드레스 버퍼30: first buffer 32: first row address buffer

34: 제 1 열어드레스 버퍼 40: 제 2 어드레스 발생부34: first open address buffer 40: second address generator

42: 제 2 행복호부 44: 제 2 열복호부42: The second happiness fox 44: The second heat fox

50: 제 2 버퍼 52: 제 1 행어드레스 버퍼50: second buffer 52: first row address buffer

54: 제 1 열어드레스 버퍼 60: 교차 억세스(cross accessing) 방지부54: First Opening Buffer Buffer 60: Cross Accessing Prevention Unit

70: 제 1 Tag 발생부 80: 제 2 Tag 발생부70: first tag generating unit 80: second tag generating unit

90: 제어 신호 발생부 100; 메모리90: a control signal generator 100; Memory

110: 제 1 데이터 입출력 버퍼 120: 제 2 데이터 입출력 버퍼110: first data input / output buffer 120: second data input / output buffer

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 자세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

먼저, 본 발명의 이해를 돕기 위해 일반적인 데이터 기억장치에 대해 설명하면 다음과 같다.First, a general data storage device will be described in order to facilitate understanding of the present invention.

일반적으로 데이터 기억 장치는 동작 원리와 입출력 포트의 수에 따라 구분되는데, 우선 상기 동작 원리에 따라 구분해 보면, 읽기 및 쓰기가 가능한 램(Random Access read write Memory: 이하 RAM 이라 칭한다.)과 읽기 전용의 롬(random access Read Only Memory:이하 ROM 이라 칭한다.)으로 구별된다.In general, the data storage device is classified according to the operation principle and the number of input / output ports. First, according to the operation principle, a random access read write memory (RAM) (Random Access Read Only Memory) (hereinafter referred to as ROM).

상기 RAM은 전원이 투입되어 있는 한, 써넣어진 데이터를 계속 유지하고 있는 스태틱 RAM(Static RAM: 이하 SRAM 이라 칭한다.)과 정기적으로 써넣어진 데이터 내용을 재기입(refresh)해줘야 하는 다이나믹 RAM(Dynamic RAM: 이하 DRAM 이라 칭한다.)으로 구별된다.As long as the power is turned on, the RAM stores a static RAM (hereinafter referred to as SRAM) that keeps written data and a dynamic RAM (which refreshes the contents of periodically written data) Dynamic RAM: hereinafter referred to as DRAM).

여기서, 상기 SRAM은 인가되던 전원이 끊어져도 상기 써넣어진 데이터를 유지하고 있는 불휘발성 SRAM 과, 전원이 끊어지면 상기 써넣어진 데이터를 소거시키는 휘발성 SRAM으로 구별된다.The SRAM is distinguished into a nonvolatile SRAM that retains the written data even when the applied power is turned off, and a volatile SRAM that erases the written data when the power is turned off.

한편, 상기 ROM은 소자 제조중에 데이터를 고정시켜 나중에 변경할 수 없는 마스크 ROM(Mask ROM)과, 일단 데이터를 프로그래밍(써넣기)하면 두 번 다시 데이터를 변경할 수 없는 퓨즈 ROM(Fuse ROM), 자외선을 쐬여주므로써 몇 번이라도 데이터의 프로그래밍이 가능한 소거 가능 프로그램 ROM(Erasable Programable ROM; 이하 EPROM이라 칭한다.), 전기적으로 데이터의 프로그래밍이나 소거가 가능한 전기적 소거 가능 ROM(Electrically EPROM: 이하 EEPROM 이라 칭한다.)으로 구별된다.On the other hand, the ROM includes a mask ROM (Mask ROM) which can fix data during device manufacturing and can not be changed later, a fuse ROM (Fuse ROM) which can not change the data twice by once programming the data, An erasable programmable ROM (EPROM) capable of programming data several times, an electrically erasable programmable ROM (EEPROM) capable of electrically programming and erasing data, and a programmable read only memory Respectively.

다음 표 1은 상기와 같은 데이터 기억 장치를 동작 원리에 따라 구분해 놓은 표이다.Table 1 below is a table in which the above-described data storage device is classified according to the operation principle.

동작 원리에 따라 구분된 데이터 기억 장치The data storage device classified according to the operating principle RAMRAM SRAMSRAM 불휘발성 SRAMNonvolatile SRAM 휘발성 SRAMVolatile SRAM DRAMDRAM ROMROM Mask ROMMask ROM Fuse ROMFuse ROM EPROMEPROM EEPROMEEPROM

한편, 데이터 기억 장치는 입출력 포트의 수에 따라 단일 포트 기억 장치와 이중 포트 기억 장치로 구분된다.On the other hand, the data storage device is divided into a single port storage device and a dual port storage device according to the number of input / output ports.

상기 단일 포트 기억 장치는 일반적인 기억 장치로서, 하나의 어드레스 입력와 제어 신호 입력에 따라 하나의 데이터를 입출력시키는 기억 장치이다.The single-port memory device is a general memory device, and is a memory device that inputs and outputs one data in accordance with one address input and a control signal input.

반면에, 상기 이중 포트 기억 장치는 2개의 입출력 단자 즉, 2개의 포트가 모두 어드레스 입력, 제어 신호 입력을 가지고 서로 독립적으로 데이터 억세스가 가능한 장치를 말한다.On the other hand, the dual port memory device refers to a device in which two input / output terminals, that is, two ports, have address input and control signal input and can access data independently of each other.

상기 이중 포트 기억 장치는 데이터 억세스 특성에 따라 보통의 이중 포트 기억 장치와 이중 포트 DRAM으로 구분된다.The dual port storage device is divided into a normal dual port storage device and a dual port DRAM according to data access characteristics.

상기 보통의 이중 포트 기억 장치는 2개의 포트(포트 1, 포트 2) 각각에 어드레스입력과 제어 신호 입력을 가지며, 상기 2개의 포트로부터 독립적으로 데이터 억세스가 가능한 장치이다. 즉, 두 포트 모두 데이타 랜덤 억세스가 가능하다.The conventional dual port storage device has an address input and a control signal input in each of two ports (port 1 and port 2), and is a device capable of independently accessing data from the two ports. That is, both ports are capable of data random access.

한편, 상기 이중 포트 DRAM의 한 포트(랜덤 포트)에서는 랜덤 억세스가 가능하고 다른 한 포트(시리얼 포트)에서는 시리얼 억세스가 가능하다. 즉, 상기 이중 포트 DRAM의 랜덤 포트 측은 모든 데이터 억세스를 제어하고, 상기 시리얼 포트측은 시리얼 데이터 입출력만을 실행한다.On the other hand, random access is possible in one port (random port) of the dual port DRAM and serial access is possible in the other port (serial port). That is, the random port side of the dual port DRAM controls all data accesses, and the serial port side executes only serial data input / output.

본 발명은 상기 보통의 이중 포트 기억 장치와 이중 포트 DRAM 모두에 적용될 수 있지만, 여기서는 상기 보통의 이중 포트 기억 장치에 본 발명을 적용시켜 설명하기로 한다.Although the present invention can be applied to both the conventional dual port storage device and the dual port DRAM, the present invention is applied to the ordinary dual port storage device.

도 3은 본 발명에 따른 동일 어드레스 동시 억세스 기억 장치의 구성을 도시한 블록도로서, 본 발명의 동일 어드레스 동시 억세스 기억 장치는 이중 포트(포트 1, 포트 2) 기억 장치에 있어서, 어드레스 버퍼(10)와; 제 1 어드레스 발생부(20); 제 1 버퍼(30); 제 2 어드레스 발생부(40); 제 2 버퍼(50); 교차 억세스 방지부(60); 제 1 Tag 발생부(70); 제 2 Tag 발생부(80); 제어 신호 발생부(90); 메모리(100); 제 1 데이터 입출력 버퍼(110)및 제 2 데이터 입출력 버퍼(120)로 구성된다.FIG. 3 is a block diagram showing the configuration of the same address simultaneous access storage device according to the present invention. The same address simultaneous access storage device of the present invention is a dual port (port 1, port 2) )Wow; A first address generator 20; A first buffer 30; A second address generator 40; A second buffer 50; A cross access preventing unit (60); A first tag generating unit 70; A second tag generating unit 80; A control signal generator 90; A memory 100; A first data input / output buffer 110 and a second data input / output buffer 120.

여기서, 상기 제 1 어드레스 발생부(20)는 제 1 행복호부(22); 및 제 1 열복호부(24)로 구성되고, 상기 제 1 버퍼(30)는 제 1 행어드레스 버퍼(32); 및 제 1 열어드레스 버퍼(34)로 구성된다.Here, the first address generator 20 includes a first happhouctor 22; And a first thermal protection unit (24), wherein the first buffer (30) comprises a first row address buffer (32); And a first open dress buffer 34.

또한, 상기 제 2 어드레스 발생부(40)는 제 2 행복호부(42); 및 제 2 열복호부(44)로 구성되고, 상기 제 2 버퍼(50)는 제 2 행어드레스 버퍼(52); 및 제 2 열어드레스 버퍼(54)로 구성된다.In addition, the second address generator 40 includes a second happy address 42; And a second thermal protection unit (44), wherein the second buffer (50) comprises a second row address buffer (52); And a second open dress buffer 54. [

우선, 데이터 억세스를 위해서 중앙 처리 장치(도시되지 않음)가 상기 억세스하고자 하는 데이터의 어드레스를 상기 기억 장치로, 어드레스 비트 단위로 입력시켜야 한다. 여기서, 상기 어드레스 비트는 Tag 비트 와 실제 주소 비트로 이루이진다.First, for data access, a central processing unit (not shown) must input the address of the data to be accessed to the storage device in units of address bits. Here, the address bit consists of a Tag bit and an actual address bit.

여기서, 상기 어드레스 비트가 10bits라고 했을 때, 상기 10bits 단위로 포트 1에 입력된 어드레스 1은 하위 2bits의 Tag 신호 1(A0 ∼ A1)과 상위 8bits의 어드레스(A2 ∼ A9)로 이루어지고, 포트 2에 입력된 어드레스 2는 하위 2bits의 Tag 신호 2(A0' ∼ A1')와 상위 8bits의 어드레스(A2' ∼ A9')로 이루어진다고 가정하자.Here, when the address bit is 10 bits, the address 1 input to the port 1 in units of 10 bits consists of the lower 2 bits Tag signal 1 (A0 ~ A1) and the upper 8 bits address (A2 ~ A9) It is assumed that the address 2 input in the lower 2 bits consists of the Tag signal 2 (A0 '~ A1') of the lower 2 bits and the address (A2 '~ A9') of the upper 8 bits.

여기서, 상기 Tag 비트란 어드레스 비트의 일부로, 상기 어드레스에 관한 정보를 포함하고, 그 정보를 식별할 수 있는 신호를 말한다. 즉, 상기 메모리(100)의 주소당 어드레스 라인(Address line)이 하나이고, 상기 어드레스 라인당 비트 폭은 16 bits라 할 때, 상기 2bits의 Tag 신호는 동일 어드레스의 데이터를 4 bits씩 나누어서 동시에 억세스할 수 있는 정보를 포함하고 있다.Here, the Tag bit is a part of the address bits, and includes information regarding the address, and is a signal capable of identifying the information. That is, assuming that there is one address line per address of the memory 100 and a bit width per address line is 16 bits, the 2-bit Tag signal divides the data of the same address by 4 bits, It contains information that can be done.

여기서, 동일 어드레스 동시 억세스란 동일 어드레스 라인의 서로 다른 4비트씩을 동시에 억세스한다는 개념으로, 예를 들어, 포트 1이 10001000 어드레스의 첫 번째 4비트에 데이타를 억세스한 경우, 포트 2는 10001000 어드레스의 두번 째, 세 번째, 네 번째 4비트에 데이타를 억세스할 수 있다.For example, when the port 1 accesses data in the first four bits of the address 10001000, the port 2 is accessed twice in the 10001000 address. In this case, the same address simultaneous access means that four different bits of the same address line are simultaneously accessed. Second, data can be accessed in the third and fourth bits.

한편, 상기 어드레스 버퍼(10)는 상기 중앙 처리 장치로부터의 어드레스 비트 즉 Tag 비트와 실제 어드레스를 입력받아 버퍼링한다.On the other hand, the address buffer 10 receives and buffers an address bit from the central processing unit, that is, a Tag bit and an actual address.

상기 제 1 어드레스 발생부(20)는 상기 어드레스 버퍼(10)로부터 실제 어드레스 1(A2 ∼ A9)를 입력받아 행어드레스(하위 4bits: A2 ∼ A5)와 열어드레스(상위 4bits: A6 ∼ A9)로 복호화시킨다.The first address generating unit 20 receives the actual address 1 (A2 to A9) from the address buffer 10 and outputs the row address (lower 4 bits: A2 to A5) and the open address (upper 4 bits: A6 to A9) Respectively.

즉, 제 1 행복호부(22)는 상기 어드레스 버퍼(10)로부터 입력되는 행어드레스(A2 ∼ A5)를 복호화시키고, 상기 제 1 열복호부(24)는 상기 어드레스 버퍼(10)로부터 입력되는 열어드레스(A6 ∼ A9)를 복호화시킨다.That is, the first happy call section 22 decodes the row addresses A2 to A5 inputted from the address buffer 10, and the first thermal protection section 24 reads the row address A2 to A5 inputted from the address buffer 10, (A6 to A9).

상기 제 1 버퍼(30)는 상기 제 1 어드레스 발생부(20)에서 복호화된 어드레스를 버퍼링한다.The first buffer 30 buffers an address decoded by the first address generator 20.

즉, 상기 제 1 행어드레스 버퍼(32)는 상기 제 1 행복호부(22)로부터의 복호화된 행어드레스를 버퍼링하고, 상기 제 1 열어드레스 버퍼(34)는 상기 제 1 열복호부(24)로부터의 복호화된 열어드레스를 버퍼링한다.That is, the first row address buffer 32 buffers the decoded row address from the first happy call section 22, and the first open address buffer 34 buffers the decoded row address from the first thermal protection section 24 Buffer the decoded open dress.

상기 제 2 어드레스 발생부(40)는 상기 어드레스 버퍼(10)로부터 입력되는 어드레스 2(A2' ∼ A9')를 행어드레스(하위 4bits: A2' ∼ A5')와 열어드레스(상위 4bits: A6' ∼ A9')로 복호화시킨다.The second address generator 40 generates the address 2 (A2 'to A9') input from the address buffer 10 in a row address (lower 4 bits: A2 'to A5' To A9 ').

즉, 제 2 행복호부(42)는 상기 어드레스 버퍼(10)로부터 입력되는 행어드레스(A2' ∼ A5')를 복호화시키고, 상기 제 2 열복호부(44)는 상기 어드레스 버퍼(10)로부터 입력되는 열어드레스(A6' ∼ A9')를 복호화시킨다.That is, the second happy call portion 42 decodes the row addresses A2 'to A5' input from the address buffer 10, and the second write / And opens the dresses (A6 'to A9').

상기 제 2 버퍼(50)는 상기 제 2 어드레스 발생부(40)에서 복호화된 어드레스를 버퍼링한다.The second buffer 50 buffers an address decoded by the second address generator 40.

즉, 상기 제 2 행어드레스 버퍼(52)는 상기 제 2 행복호부(42)로부터의 복호화된 행어드레스를 버퍼링하고, 상기 제 2 열어드레스 버퍼(54)는 상기 제 2 열복호부(44)로부터의 복호화된 열어드레스를 버퍼링한다.That is, the second row address buffer 52 buffers the decoded row address from the second happy call portion 42, and the second open address buffer 54 buffers the decoded row address from the second heating portion 44 Buffer the decoded open dress.

여기서, 상기 중앙 처리 장치로부터의 어드레스를 복호화시키는 데는 많은 시간이 소요됨에도 불구하고 데이터 억세스는 순식간에 수행되어야 하므로, 데이터 억세스시가 아니더라도 상기 제어 신호 발생부(80)의 제어 신호에 따라 입력된 어드레스를 미리 복호화하여 버퍼(제 1 행버퍼(32), 제 1 열버퍼(34), 제 2 행버퍼(52), 제 2 열버퍼(54)에 저장시켜둔다.Since the data access must be performed instantaneously even though it takes a long time to decode the address from the central processing unit, even if not at the time of data access, the address inputted according to the control signal of the control signal generating unit 80 Are stored in advance in the buffer (first row buffer 32, first column buffer 34, second row buffer 52, and second column buffer 54).

여기서, 상기 버퍼는 주로 3-상태 버퍼(tri-state buffer)로 구현된다. 왜냐하면, 통상의 버퍼가 버퍼 용량에 따라 신호를 입력받고, 그 용량을 초과하면 상기 입력 신호를 출력시키는데 반해, 상기 3-상태 버퍼는 데이터 억세스시에는 보통 버퍼처럼 동작하고, 데이터 비억세스시에는 연결되지 않은 것처럼 상기 복호화된 신호를 출력시키지 않기 때문이다.Here, the buffer is mainly implemented as a tri-state buffer. Because the normal buffer receives a signal according to the buffer capacity and outputs the input signal when it exceeds the capacity, the 3-state buffer operates as a normal buffer at the time of data access, And does not output the decoded signal as if it were not.

상기 3-상태 버퍼는 데이터 입력 단자와 3-상태 인에이블 입력 단자, 데이터 출력 단자를 가지고, 하이(1)와 로우(0) 및 고-임피던스(Hi-Z)와 같이 3가지 출력 상태를 가진다.The 3-state buffer has a data input terminal, a 3-state enable input terminal and a data output terminal, and has three output states such as a high (1), a low (0) and a high impedance (Hi-Z) .

즉, 상기 3-상태 버퍼는 상기 3-상태 인에이블 입력 단자로부터 3-상태 인에이블 신호가 입력되는 경우, 통상의 버퍼처럼 입력 신호에 따라 하이 또는 로우신호를 출력시키고, 상기 3-상태 인에이블 신호가 무시되는 경우, 고-임피던스(Hi-Z) 신호를 출력시켜 상기 3-상태 버퍼가 기능적으로 동작하지 않는 것처럼 아무런 신호도 출력시키지 않는다.That is, when the 3-state enable signal is input from the 3-state enable input terminal, the 3-state buffer outputs a high or a low signal according to an input signal like a normal buffer, When the signal is ignored, a high-impedance (Hi-Z) signal is output so that no signal is output as the 3-state buffer does not operate functionally.

한편, 상기 교차 억세스 방지부(60)는 상기 제 1 어드레스 발생부(20)에서 복호화된 어드레스 1과 상기 제 2 어드레스 발생부(40)에서 복호화된 어드레스 2가 동일한 경우, 동일 어드레스 라인의 동일한 4비트의 데이타를 동시에 억세스하는 교차 억세스를 방지한다.If the address 1 decoded by the first address generator 20 and the address 2 decoded by the second address generator 40 are the same, the cross access inhibitor 60 generates the same 4 Thereby preventing cross access to access data of the bit at the same time.

즉, 상기 교차 억세스 방지부(60)는 어드레스 버퍼(10)로부터의 Tag 신호 1과 Tag 신호 2를 역다중화시킨 후, 정해진 교차 억세스 테이블에 따라 상기 Tag 신호 1과 Tag 신호 2를 비교하여 서로 교차하지 않도록 한다.That is, the crossover access preventing unit 60 demultiplexes the Tag signal 1 and the Tag signal 2 from the address buffer 10, then compares the Tag signal 1 with the Tag signal 2 according to a predetermined crossover access table, Do not.

도 3의 (a)는 상기 교차 억세스 테이블의 일예이고, (b)는 상기 교차 억세스 테이블에 따라 교차 억세스가 발생하지 않도록 동일 어드레스 데이타를 4비트 단위로 동시에 억세스하는 과정을 도시한 도면이다.FIG. 3 (a) is an example of the cross access table, and FIG. 3 (b) is a diagram illustrating a process of simultaneously accessing the same address data on a 4-bit basis so that cross access does not occur according to the cross access table.

도 3의 (a)에 도시된 교차 억세스 테이블을 참조하여 상기 교차 억세스 방지부(60)의 동작을 살펴 보면 다음과 같다,Referring to the crossover access table shown in FIG. 3 (a), the operation of the crossover access preventing unit 60 will be described below.

우선, (b)에 도시된 바와 같이 역다중화된 Tag 신호 1이 0 일 경우, 포트 1은 어드레스 1이 지정하는 어드레스 라인의 처음 4비트를 억세스하므로, 포트 2는 상기 처음 4비트를 제외한 12비트를 모두 억세스할 수 있다.First, when the demultiplexed Tag signal 1 is 0, Port 1 accesses the first 4 bits of the address line designated by the address 1, so that Port 2 has 12 bits excluding the first 4 bits Can be accessed.

이어서, 상기 제 1 Tag 발생부(70)는 상기 비교 결과에 따라 상기 어드레스 버퍼(10)로부터의 Tag 신호 1을 발생시키기 위해 복호화하고, 상기 제 2 Tag 발생부(80)는 상기 비교 결과에 따라 어드레스 버퍼(10)로부터의 Tag 신호 2를 발생시키기 위해 복호화한다.The first tag generator 70 decodes the tag signal 1 to generate a Tag signal 1 from the address buffer 10 according to the comparison result, and the second tag generator 80 decodes the tag signal 1 according to the comparison result And decodes Tag signal 2 from address buffer 10 to generate Tag signal 2.

상기 제어 신호 발생부(90)는 데이터 억세스에 필요한 모든 제어 신호를 발생시킨다.The control signal generator 90 generates all the control signals necessary for data access.

상기 제어 신호에는신호,신호,신호 및신호가 있다. 통상 상기 제어 신호는 액티브 로우 신호이고, 각 포트마다 독립적인 제어 신호가 발생되어 한 포트의 제어 신호가 또 다른 포트를 제어할 수 없다.The control signal signal, signal, Signal and There is a signal. Usually, the control signal is an active low signal, and an independent control signal is generated for each port, so that the control signal of one port can not control another port.

여기서, 상기신호는신호의 액티브 로우기간 동안 상기 어드레스 버퍼(10)로부터의 행어드레스가 상기 제 1 행복호부(22) 또는 상기 제 2 행복호부(42)로 입력되도록 하는 신호이고, 상기신호는신호의 액티브 로우기간 동안 상기 어드레스 버퍼(10)로부터의 열어드레스가 상기 제 1 열복호부(24) 또는 상기 제 2 열복호부(44)로 입력되도록 하는 신호이다.Here, The signal A signal that causes a row address from the address buffer 10 to be input to the first happy call portion 22 or the second happy call portion 42 during an active low period of the signal, The signal And an open address from the address buffer 10 is input to the first thermal protection unit 24 or the second thermal protection unit 44 during an active low period of the signal.

또한, 상기신호 중신호는 쓰기 사이클시, 4비트의 입력 신호에 대해 선택적으로 쓰기 가 가능하도록 하는 신호이다. 비디오 RAM에서는 1 워드 중 임의의 비트만을 변경하고 싶은 경우가 많으므로 상기신호가 자주 사용된다.신호 중신호는 입출력 신호의 쓰기가 가능하도록 하는 신호이다. 상기신호는 읽기 사이클시, 데이터 출력을 제어하는 신호이다.In addition, Signal The signal is a signal that enables selective writing to a 4-bit input signal during a write cycle. In the video RAM, since it is often desired to change only one bit of one word, Signals are often used. Signal A signal is a signal that enables writing of an input / output signal. remind The signal is a signal that controls the data output during a read cycle.

상기 메모리(100)는 상기 제어 신호에 의해 상기 제 1 또는 제 2 데이터 입출력 버퍼(110,120)로부터 입출력되는 데이터를 저장한다.The memory 100 stores data input and output from the first and second data input / output buffers 110 and 120 according to the control signal.

여기서, 상기 메모리(100)는 기억의 최소 단위인 메모리 셀을 행 방향, 열 방향으로 규칙적으로 배열한 메모리 어레이로 구현된다. 즉, 상기 메모리(100)는 도 2에 도시된 바와 같이 256개의 메모리 셀을 16개의 행(R0 ∼ R15)과 16개의 열(C0 ∼ C15)로 규칙적으로 배열한 메모리 어레이로 구현되어 있다.Here, the memory 100 is implemented as a memory array in which memory cells, which are minimum units of memory, are regularly arranged in a row direction and a column direction. That is, the memory 100 is implemented as a memory array in which 256 memory cells are regularly arranged in 16 rows (R0 to R15) and 16 columns (C0 to C15) as shown in FIG.

상기 제 1 데이터 입출력 버퍼(110)는 상기 제어 신호와 어드레스에 따라, 상기 메모리(100)에 저장되어 있던 데이터를 출력시키거나 외부로부터의 데이타를 상기 메모리(100)에 입력시킨다.The first data input / output buffer 110 outputs data stored in the memory 100 or inputs external data to the memory 100 according to the control signal and the address.

상기 제 2 데이터 입출력 버퍼(120)는 상기 제어 신호와 어드레스에 따라, 상기 메모리(100)에 저장되어 있던 데이터를 출력시키거나 외부로부터의 데이타를 상기 메모리(100)에 입력시킨다.The second data input / output buffer 120 outputs data stored in the memory 100 or inputs external data to the memory 100 according to the control signal and the address.

상기와 같이 구성된 본 발명의 동일 어드레스 동시 억세스 기억 장치의 동작을 도 2와 3을 참조하여 살펴보면 다음과 같다.The operation of the same-address simultaneous access storage device of the present invention constructed as above will be described with reference to FIGS. 2 and 3. FIG.

도 4는 상기 도 3의 (a)에 도시된 교차 억세스 테이블에 따라 동일 어드레스의 메모리에 저장된 데이타를 동시에 써넣는 과정을 도시한 도면이다.FIG. 4 is a diagram illustrating a process of simultaneously writing data stored in a memory at the same address according to the crossover access table shown in FIG. 3 (a).

도 4에 도시된 바와 같이, 중앙 처리 장치로부터 포트 1에 입력된 어드레스 1은 2비트의 Tag 신호(1)와 8비트의 어드레스(10101100)로 이루어지고, 포트 2에 입력된 어드레스 2는 2비트의 Tag 신호(10)와 8비트의 어드레스(10101100)로 이루어진다.As shown in Fig. 4, the address 1 inputted to the port 1 from the central processing unit is composed of the Tag signal 1 of 2 bits and the address 10101100 of 8 bits, and the address 2 inputted to the port 2 is composed of 2 bits And a 10-bit address 10101100 of 8 bits.

이어서, 포트 1은 Tag 신호가 1이므로 데이타 버스로부터 입력되는 데이타 1(0000 1101)의 8비트를 4비트씩 차례로 메모리(100)의 어드레스 10101100 라인에 써넣고, 포트 2는 Tag 신호가 10이므로 데이타 버스로부터 입력되는 데이타 1(1101 0101 0010)의 12비트를 4비트씩 차례로 메모리(100)의 어드레스 10101100 라인에 써넣는다.Then, since the Tag signal of the port 1 is 1, 8 bits of the data 1 (0000 1101) input from the data bus are sequentially written into the address 10101100 line of the memory 100 in 4-bit order. 12 bits of data 1 (1101 0101 0010) input from the bus are written into the address 10101100 line of the memory 100 in order of 4 bits in sequence.

그런데, 상기 어드레스 10101100 라인의 두 번째 4비트에 교차 억세스가 발생하여 데이타 억세스에 큰 손해를 가져 오므로 본 발명에서는 교차 억세스 방지부(60)를 통하여 상기 교차 억세스를 방지한다,However, because cross access is generated in the second 4 bits of the address 10101100 line, it causes great damage to the data access. Therefore, in the present invention, the cross access is prevented through the cross access preventing unit 60,

도 5는 상기 도 3의 (a)에 도시된 교차 억세스 테이블에 따라 동일 어드레스의 메모리에 저장된 데이타를 동시에 읽어가는 과정을 도시한 도면이다.5 is a diagram illustrating a process of simultaneously reading data stored in a memory at the same address according to the crossover access table shown in FIG. 3 (a).

도 5에 도시된 바와 같이, 중앙 처리 장치로부터 포트 1에 입력된 어드레스 1은 2비트의 Tag 신호(0)와 8비트의 어드레스(10001010)로 이루어지고, 포트 2에 입력된 어드레스 2는 2비트의 Tag 신호(10)와 8비트의 어드레스(10001010)로 이루어진다.As shown in Fig. 5, the address 1 input to the port 1 from the central processing unit is composed of a Tag signal 0 of 2 bits and an address 10001010 of 8 bits, and an address 2 input to port 2 is 2 bits Of the Tag signal 10 and an address 10001010 of 8 bits.

이어서, 포트 1은 Tag 신호가 0이므로 메모리(100)의 어드레스 10001010 라인에 저장되어 있던 처음 4비트의 데이타(1001)을 읽어가고, 포트 2는 Tag 신호가 10이므로 메모리(100)의 어드레스 10001010 라인에 저장되어 있던 나머지 12비트의 데이타(1111 0001 1010)를 4비트씩 읽어간다.The port 1 reads the first 4 bits of data 1001 stored in the address 10001010 line of the memory 100 because the Tag signal is 0. The port 2 reads the data 100011010 of the memory 100 And reads the remaining 12 bits of data (1111 0001 1010), which have been stored in the memory, in units of 4 bits.

즉, 교차 억세스 없이 정상적으로 동일 주소에 저장된 데이타를 4비트씩 동시에 읽어가게 되는 것이다.That is, the data stored at the same address is normally read out by 4 bits at a time without cross access.

이상에서 살펴본 바와 같이, 본 발명에 따른 동일 어드레스 동시 억세스 기억 장치는 동일 어드레스를 갖는 데이터를 동시에 억세스할 수 있을 뿐 만 아니라 동일 어드레스를 가진 데이터를 일정 비트 단위로 나누어서 억세스하므로써, 다양한 비트 폭을 가지는 여러 데이타를 동일 어드레스에 동시에 억세스하고, 상기 동일 어드레스를 갖는 데이터들 중 억세스하고자 하는 데이터만을 억세스하게 된다는 잇점이 있다.As described above, the same address simultaneous access storage device according to the present invention not only can access data having the same address at the same time, but also accesses data having the same address by dividing it into a certain bit unit, There is an advantage that only a plurality of data are accessed at the same address at the same time and only data to be accessed among the data having the same address is accessed.

이하, 특허 청구의 범위에서 상기 Tag 신호 1은 제 1 태그 신호라 하고 상기 Tag 신호 2는 제 2 태그 신호라 하며, 상기 실제 어드레스 1은 제 1 실제 어드레스이라 하고 상기 실제 어드레스 2는 제 2 실제 어드레스이라 하며, 상기 어드레스 1은 제 1 어드레스라 하며, 상기 어드레스 2는 제 2 어드레스라 칭한다.Hereinafter, in the claims, the Tag signal 1 is referred to as a first tag signal, the Tag signal 2 is referred to as a second tag signal, the real address 1 is referred to as a first real address, and the real address 2 is referred to as a second real address , The address 1 is referred to as a first address, and the address 2 is referred to as a second address.

Claims (6)

중앙 처리 장치로부터 어드레스에 관한 정보를 포함하는 제 1 태그 신호와 제 1 실제 어드레스로 이루어진 제 1 어드레스와 어드레스에 관한 정보를 포함하는 제 1 태그 신호와 제 2 실제 어드레스로 이루어진 제 2 어드레스를 입력받아 독립적으로 데이터를 억세스하는 이중 포트 기억 장치에 있어서, 상기 중앙 처리 장치로부터의 어드레스를 버퍼링하는 어드레스 버퍼(10)와; 상기 어드레스 버퍼(10)로부터 입력받은 제 1 실제 어드레스를 행어드레스와 열어드레스로 발생시키는 제 1 어드레스 발생부(20); 상기 제 1 어드레스 발생부(20)로부터의 행어드레스와 열어드레스를 버퍼링하는 제 1 버퍼(30); 상기 어드레스 버퍼(10)로부터 입력받은 제 2 실제 어드레스를 행어드레스와 열어드레스로 발생시키는 제 2 어드레스 발생부(40); 상기 제 2 어드레스 발생부(40)로부터의 행어드레스와 열어드레스를 버퍼링하는 제 2 버퍼(50); 상기 어드레스 버퍼(10)로부터의 제 1 태그 신호와 제 2 태그 신호를 역다중화시킨 후, 정해진 교차 억세스 테이블에 따라 상기 역다중화된 제 1 태그 신호 와 제 2 태그 신호를 비교하여 서로 교차하지 않도록 하는 교차 억세스 방지부(60); 상기 비교 결과에 따라 상기 어드레스 버퍼(10)로부터의 제 1 태그 신호를 발생시키기 위해 복호화시키는 제 1 태그 발생부(70); 상기 비교 결과에 따라 어드레스 버퍼(10)로부터의 제 2 태그 신호를 발생시키기 위해 복호화시키는 제 2 태그 발생부(80); 데이터 억세스에 필요한 모든 제어 신호를 발생시키는 제어 신호 발생부(90); 상기 제어 신호와 상기 복호화된 태그 신호와 어드레스에 따라 입출력되는 데이터를 저장하는 메모리(100); 상기 제어 신호와 상기 복호화된 태그 신호와 어드레스에 따라 상기 메모리(100)에 저장되어 있던 데이터를 출력시키거나 외부로부터의 데이타를 상기 메모리(100)에 입력시키는 제 1 데이터 입출력 버퍼(110); 및 상기 제어 신호와 상기 복호화된 태그 신호와 어드레스에 따라 상기 메모리(100)에 저장되어 있던 데이터를 출력시키거나 외부로부터의 데이타를 상기 메모리(100)에 입력시키는 제 2 데이터 입출력 버퍼(120)로 구성되는 것을 특징으로 하는 동일 어드레스 동시 억세스 기억 장치.A first tag signal including information on an address from a central processing unit, a first tag signal including a first address composed of a first real address and information on an address, and a second address composed of a second real address A dual port memory device for independently accessing data, comprising: an address buffer (10) for buffering an address from the central processing unit; A first address generator 20 for generating a first real address received from the address buffer 10 in a row address and an open address; A first buffer 30 for buffering a row address and an open address from the first address generator 20; A second address generator (40) for generating a second actual address received from the address buffer (10) in a row address and an open address; A second buffer 50 for buffering the row address and the open address from the second address generator 40; Demultiplexes the first tag signal and the second tag signal from the address buffer 10 and then compares the demultiplexed first tag signal and the second tag signal according to a predetermined crossover access table so as not to cross each other A cross access preventing unit (60); A first tag generator (70) for decoding the first tag signal to generate a first tag signal from the address buffer (10) according to the comparison result; A second tag generator 80 for decoding the second tag signal to generate a second tag signal from the address buffer 10 according to the comparison result; A control signal generator 90 for generating all control signals necessary for data access; A memory (100) for storing the control signal, the decoded tag signal, and data input / output in accordance with an address; A first data input / output buffer 110 for outputting data stored in the memory 100 according to the control signal, the decoded tag signal and an address or for inputting data from the outside into the memory 100; And a second data input / output buffer 120 for outputting the data stored in the memory 100 according to the control signal, the decoded tag signal and the address, or for inputting data from the outside into the memory 100 And the second address is stored in the second memory. 제 1 항에 있어서, 상기 제 1 어드레스 발생부(20)는 상기 어드레스 버퍼(10)로부터 실제 어드레스 중 행어드레스를 입력받아 복호화시키는 제 1 행복호부(22); 및 상기 어드레스 버퍼(10)로부터 실제 어드레스 중 열어드레스를 입력받아 복호화시키는 제 1 열복호부(24)로 구성되는 것을 특징으로 하는 동일 어드레스 동시 억세스 기억 장치.The apparatus of claim 1, wherein the first address generator (20) comprises: a first happy caller (22) for receiving and decoding a row address of an actual address from the address buffer (10); And a first refreshing unit (24) for receiving and decoding the open address among the actual addresses from the address buffer (10). 제 1 항에 있어서, 상기 제 1 버퍼(30)는 상기 제 1 어드레스 발생부(20)로부터의 복호화된 행어드레스를 버퍼링하는 제 1 행어드레스 버퍼(32); 및 상기 제 1 어드레스 발생부(20)로부터의 복호화된 열어드레스를 버퍼링하는 제 1 열어드레스 버퍼(34)로 구성되는 것을 특징으로 하는 동일 어드레스 동시 억세스 기억 장치.The apparatus of claim 1, wherein the first buffer (30) comprises: a first row address buffer (32) buffering a decoded row address from the first address generator (20); And a first open address buffer (34) for buffering the decoded open address from the first address generating unit (20). 제 1 항에 있어서, 상기 제 2 어드레스 발생부(40)는 상기 어드레스 버퍼(10)로부터 실제 어드레스 중 행어드레스를 입력받아 복호화시키는 제 2 행복호부(42); 및 상기 어드레스 버퍼(10)로부터 실제 어드레스 중 열어드레스를 입력받아 복호화시키는 제 2 열복호부(44)로 구성되는 것을 특징으로 하는 동일 어드레스 동시 억세스 기억 장치.The apparatus of claim 1, wherein the second address generator (40) comprises: a second happy call section (42) for receiving and decoding a row address of an actual address from the address buffer (10); And a second refreshing unit (44) for receiving and decoding the open address among the actual addresses from the address buffer (10). 제 1항에 있어서, 상기 제 2 버퍼(50)는 상기 제 2 어드레스 발생부(40)로부터의 복호화된 행어드레스를 버퍼링하는 제 2 행어드레스 버퍼(52); 및 상기 제 2 어드레스 발생부(40)로부터의 복호화된 열어드레스를 버퍼링하는 제 2 열어드레스 버퍼(54)로 구성되는 것을 특징으로 하는 동일 어드레스 동시 억세스 기억 장치.The apparatus of claim 1, wherein the second buffer (50) comprises: a second row address buffer (52) buffering the decoded row address from the second address generator (40); And a second open address buffer (54) for buffering the decoded open address from the second address generator (40). 제 1 항에 있어서, 상기 제 1 버퍼(30)와 제 2 버퍼(50)는 3-상태 버퍼로 구현되는 것을 특징으로 하는 동일 어드레스 동시 억세스 기억 장치.The apparatus of claim 1, wherein the first buffer (30) and the second buffer (50) are implemented as a three-state buffer.
KR1019960037623A 1996-08-31 1996-08-31 A memory which concurrently accesses data of an equal address KR100195750B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019960037623A KR100195750B1 (en) 1996-08-31 1996-08-31 A memory which concurrently accesses data of an equal address

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019960037623A KR100195750B1 (en) 1996-08-31 1996-08-31 A memory which concurrently accesses data of an equal address

Publications (2)

Publication Number Publication Date
KR19980017806A KR19980017806A (en) 1998-06-05
KR100195750B1 true KR100195750B1 (en) 1999-06-15

Family

ID=19472353

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960037623A KR100195750B1 (en) 1996-08-31 1996-08-31 A memory which concurrently accesses data of an equal address

Country Status (1)

Country Link
KR (1) KR100195750B1 (en)

Also Published As

Publication number Publication date
KR19980017806A (en) 1998-06-05

Similar Documents

Publication Publication Date Title
US7962784B2 (en) Repairable block redundancy scheme
US5282177A (en) Multiple register block write method and circuit for video DRAMs
KR900005441A (en) Semiconductor memory circuit
US20010015933A1 (en) Dual port programmable logic device variable depth and width memory array
US5608673A (en) Nand-type flash memory integrated-circuit card
GB1580415A (en) Random access memory
US6512716B2 (en) Memory device with support for unaligned access
US5265063A (en) Semiconductor memory device having a plurality of SRAMs operable in synchronism with a clock permitting simultaneous access to multiple data
US5383161A (en) IC card with decoder for selective control for memory storage
EP0366588A2 (en) Memory organization with arrays having an alternate data port facility
GB1468783A (en) Memory systems
KR930017025A (en) Multiserial Access Memory
JPS63163937A (en) Memory controller
US4156290A (en) Speedup addressing device by detecting repetitive addressing
EP0107340B1 (en) Dual port type semiconductor memory
KR970012708A (en) Integrated semiconductor memory device
KR890002773A (en) Memory and Method of Digital Video Signals
US5265048A (en) Semiconductor storage device and method of accessing the same
US5267212A (en) Random access memory with rapid test pattern writing
KR100267412B1 (en) Semiconductor memory device having block write function
KR100195750B1 (en) A memory which concurrently accesses data of an equal address
US6407961B1 (en) Dual access memory array
US6587373B2 (en) Multilevel cell memory architecture
KR930005016A (en) Enabling data access in arbitrary number of bits of semiconductor storage data
KR950020173A (en) Data processing system with memory with low power operation mode and method thereof

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110201

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee