KR100810262B1 - Memory sharing apparatus using split logic circuit - Google Patents
Memory sharing apparatus using split logic circuit Download PDFInfo
- Publication number
- KR100810262B1 KR100810262B1 KR1020010076928A KR20010076928A KR100810262B1 KR 100810262 B1 KR100810262 B1 KR 100810262B1 KR 1020010076928 A KR1020010076928 A KR 1020010076928A KR 20010076928 A KR20010076928 A KR 20010076928A KR 100810262 B1 KR100810262 B1 KR 100810262B1
- Authority
- KR
- South Korea
- Prior art keywords
- memory
- logic
- write
- integrated
- read
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30098—Register arrangements
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/12—Group selection circuits, e.g. for memory block selection, chip selection, array selection
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (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)
Abstract
본 발명은 용량이 다른 두 개의 메모리를 프로래머블하게 나누어 쓸 수 있는 분리 로직을 이용하여 효율적으로 메모리를 공유하는 방법에 관한 것으로써, 고유한 기능을 수행하며 서로 다른 메모리 용량을 필요로 하는 제1 및 제2 기능블럭들과, 상기 제1 및 제2 기능블럭들에 의하여 공유되며 자기진단 로직을 가지는 통합 메모리와, 상기 제1 및 제2 기능블럭들이 상기 통합 메모리를 사용하도록 하기 위한 기록/독출 주소 신호와 기록/독출 이네이블 신호를 각각 생성하는 제1 및 제2 메모리 제어로직들과, 상기 통합 메모리의 전체 메모리 영역을 제1 메모리 영역과 제2 메모리 영역으로 분리하고 상기 분리된 각 메모리 영역에 적합하도록 변환된 기록/독출 주소 신호를 상기 통합 메모리로 제공하는 분리로직을 포함한다. 이로써 본 발명은 메모리 장치를 효율화, 소형화, 집적화하고, 동작 처리 지연을 최소화할 수 있다.
메모리 공유, 분리 로직
The present invention relates to a method of efficiently sharing memory using separation logic that can programmatically divide and use two memories having different capacities. The present invention performs a unique function and requires different memory capacities. An integrated memory shared by the first and second functional blocks, the first and second functional blocks and having self-diagnostic logic, and a write / write for causing the first and second functional blocks to use the integrated memory; First and second memory control logics for generating a read address signal and a write / read enable signal, respectively, and separating the entire memory area of the integrated memory into a first memory area and a second memory area, respectively; And a separate logic for providing the integrated memory with a write / read address signal converted to be suitable for the area. As a result, the present invention can make the memory device more efficient, smaller, and more integrated, and can minimize operational processing delays.
Memory Sharing, Separation Logic
Description
도 1은 일반적인 모뎀 칩에서 사용되는 양방향 동기 랜덤 액세스 메모리(DPSRAM)를 나타낸 도면.1 is a diagram illustrating a bidirectional synchronous random access memory (DPSRAM) used in a typical modem chip.
도 2는 종래기술에 의해 같은 타입의 서로 크기가 다른 메모리들을 사용하는 장치를 나타낸 블럭도.2 is a block diagram showing an apparatus using different sizes of memory of the same type according to the prior art;
도 3은 종래기술에 의해 통합 메모리를 사용하는 장치를 나타낸 블럭도.3 is a block diagram illustrating a device using an integrated memory in the prior art.
도 4는 본 발명에 따라 분리로직을 이용하는 메모리 공유장치의 구성을 나타낸 블럭도.4 is a block diagram showing the configuration of a memory sharing apparatus using separate logic in accordance with the present invention;
도 5는 도 4에 나타낸 분리로직의 상세 구성 및 연결을 보인 도면.5 is a view showing a detailed configuration and connection of the separation logic shown in FIG.
도 6은 본 발명의 실시예에 따라 통합 메모리를 동시에 기록/독출하는 동작을 나타낸 흐름도.
6 is a flowchart illustrating an operation of simultaneously writing / reading the unified memory according to an embodiment of the present invention.
본 발명은 메모리 장치에 관한 것으로, 특히 용량이 다른 두 개의 메모리를 프로래머블하게 나누어 쓸 수 있는 분리 로직을 이용하여 효율적으로 메모리를 공유하는 방법에 관한 것이다.BACKGROUND OF THE
통상적으로 셀룰러 폰(cellular phone)이나 멀티미디어 통신 관련 단말기에서 모뎀 칩을 구성하는 통신 하드웨어 로직들은 다른 로직 블럭들에 비하여 통신 기능 구현에 사용된 메모리의 게이트 수가 상대적으로 더 많다. 사용자의 요구가 다양해지고 통신기술이 발전함에 따라 이 비율은 더 커지고 있는 추세이다. 따라서, 메모리를 효율적으로 사용하지 못하면 전체 칩의 게이트 수가 불필요하게 커지고 칩의 크기가 커진다.In general, communication hardware logics constituting a modem chip in a cellular phone or a multimedia communication related terminal have a relatively larger gate count of memory used to implement a communication function than other logic blocks. As the needs of users are diversified and communication technologies are developed, this ratio is increasing. Therefore, if the memory is not used efficiently, the number of gates of the entire chip is unnecessarily large and the size of the chip is large.
모뎀 칩은 여러 가지 고유한 통신 기능(부호화, 천공, 인터리빙, 심볼 반복, 변조, 직/병렬 변환 등)을 수행하는 블럭들로 구성되고, 각각의 블럭들은 입력을 제공받아 각기 고유한 기능에 따라 처리한 후 출력하기 위하여 다양한 용량의 메모리들을 필요로 한다. The modem chip consists of blocks that perform a number of unique communication functions (encoding, puncturing, interleaving, symbol repetition, modulation, serial / parallel conversion, etc.). After processing, it needs various capacities of memory.
도 1은 일반적인 모뎀 칩에서 사용되는 양방향 동기 랜덤 액세스 메모리(Dual Port Synchronous Random Access Memory: DPSRAM)를 나타낸 도면이다. 도시한 바와 같이 양방향 SRAM(100)은 기록(WRITE)과 독출(READ)을 동시에 수행하거나, 또는 서로 다른 기록을 동시에 같이 수행하거나, 또는 서로 다른 독출을 동시에 수행할 수도 있다. 이러한 양방향 SRAM(100)은 통상적으로는 기록/독출 또는 독출/기록을 동시에 수행하는 목적으로 사용된다.FIG. 1 is a diagram illustrating a dual port synchronous random access memory (DPSRAM) used in a general modem chip. As illustrated, the
상기 도 1을 참조하여 기록 동작을 설명하면, 기록 이네이블 입력포트인 WEN1(또는 WEN2)이 로우(LOW) 상태이고 독출 이네이블 입력포트인 CSN1(또는 CSN2)이 로우 상태일 때, 클럭 CK1(또는 CK2, 클럭)의 상승에지(rising edge)에서 데이터 입력포트인 DI1(또는 DI2)을 통하여 데이터가 입력된다. 또한 독출 동작을 설명하면, WEN1이 하이 상태이고 CSN1이 로우 상태일 때 CK1의 상승에서 DOUT1(혹은 DOUT2)을 통해서 데이터가 출력된다.Referring to FIG. 1, when the write enable input port WEN1 (or WEN2) is low and the read enable input port CSN1 (or CSN2) is low, the clock CK1 ( Alternatively, data is input through the data input port DI1 (or DI2) at the rising edge of CK2 (clock). In addition, when the read operation is described, data is output through DOUT1 (or DOUT2) at the rise of CK1 when WEN1 is high and CSN1 is low.
상기와 같이 동작하는 메모리는 실제 데이터를 저장하는 저장소자 이외에 메모리를 제어하는 로직 및 메모리를 자체적으로 테스트하기 위한 자기진단 로직 등의 추가 로직들을 필요로 한다. 따라서 필요한 메모리의 수가 많아지면 실제 모뎀 칩의 고유한 통신 기능을 수행하는 로직들보다 메모리를 위한 추가 로직들의 수가 더 많은 면적을 차지하게 될 수 있다.The memory operating as described above requires additional logics, such as logic for controlling the memory and self-diagnostic logic for self-testing the memory, in addition to a repository for storing actual data. Thus, the larger the number of memory required, the larger the number of additional logics for the memory than the logic that performs the unique communication functions of the actual modem chip.
도 2는 종래기술에 의해 같은 타입의 서로 크기가 다른 메모리들을 사용하는 구조를 나타낸 블럭도이다. 이는 각기 다른 기능을 수행하는 두 개의 하드웨어 블럭들은 각기 다른 용량의 메모리 크기를 가지고 기능을 수행한다고 가정할 때 필요한 메모리 구조로서, 도시한 바와 같이 기능로직(Function Logic)(210)(410)과 메모리 제어로직(220)(420)을 포함하는 하드웨어 기능블럭(200)(400)과, 메모리(310)(510)와 자기진단 로직(Self Test Logic)(320)(520)을 포함하는 메모리 블럭(300)(500)으로 구성된다.2 is a block diagram illustrating a structure using different types of memories of the same type according to the related art. This is a memory structure that assumes that two hardware blocks that perform different functions perform functions with different sizes of memory, and as illustrated, function logic (210) (410) and memory.
상기 도 2를 참조하면, 메모리 블럭(300)은 1000x8 용량(1000 바이트)의 메모리 A(310)를 포함하고, 메모리 블럭(500)은 100x8 용량(100 바이트)의 메모리 B(510)를 포함한다. 상기 메모리 블럭(300)과 연결되는 하드웨어 기능블럭(200)은 기능로직(210)과, 상기 메모리 A(310)를 위한 제어신호들, 즉 WRITE_POINTER(221), READ_POINTER(222), WRITE_EN(223), READ_EN(224) 등을 생성하는 메모리 제어로직 A(220)를 포함하며, 또한 상기 메모리 블럭(300)은 칩으로 구현된 후 칩 내의 메모리 A(310)를 자체 진단하기 위한 자기진단 로직(320)을 포함한다.Referring to FIG. 2, the
마찬가지로 상기 메모리 블럭(500)과 연결되는 하드웨어 기능블럭(400)은 기능로직(410)과, 상기 메모리 B(310)를 위한 제어신호들, 즉 기록 주소 신호 WRITE_POINTER(421), 독출 주소 신호 READ_POINTER(422), 기록 이네이블 신호 WRITE_EN(423), 독출 이네이블 신호 READ_EN(424) 등을 생성하는 메모리 제어로직 B(420)를 포함하며, 또한 상기 메모리 블럭(500)은 칩으로 구현된 후 칩 내의 메모리 B(510)를 자체 진단하기 위한 자기진단 로직(520)을 포함한다.Similarly, the hardware
이때, 상기 도 2에 도시한 바와 같이 서로 다른 기능에 사용되는 두 개의 메모리 블럭(300)(500)은 하나의 칩 안에 레이아웃 할 때 서로 떨어져서 위치하게 된다. 따라서 메모리들(310)(510)을 제어하기 위한 메모리 제어로직(220)(420)과 자기진단 로직(320)(520)이 각각 필요하였다.In this case, as shown in FIG. 2, the two
이러한 문제점을 해결하기 위해 통합 메모리를 사용함으로써 자기진단로직의 개수를 줄이는 메모리 구조를 도 3에 도시하였다. 3 illustrates a memory structure for reducing the number of self-diagnosis logic by using an integrated memory to solve this problem.
상기 도 3을 참조하면, 메모리 블럭(700)은 두 개의 기능로직(610)(630)에 의하여 공유되며, 따라서 단지 하나의 통합 메모리(710)와 자기진단로직(720)만을 필요로 한다. 이러한 메모리 통합을 수행하기 위해서는 메모리 제어로직들(620)(640)이 통합 메모리(710)를 공유할 수 있도록 하기 위하여 다중화 로직(650)이 필요하게 된다. 상기 다중화 로직(650)은, 기능 로직 A(610)가 동작할 때는 메모리 제어로직 A(620)를 통합 메모리(710)에 연결하고, 반대로 기능로직 B(630)가 동작할 때는 메모리 제어 로직 B(640)를 통합 메모리(710)에 연결한다.Referring to FIG. 3, the
이러한 구조에서, 기능로직 B(630)가 통합 메모리(710)를 사용하기 위해 다중화 로직(650)를 이용하여 메모리 제어 로직 B(620)의 신호들을 통합 메모리(710)에 연결한 이후, 기능로직 A(610)가 통합 메모리(710)를 사용하기 위해서는 기능로직 B(630)의 데이터 처리가 완전히 끝날 때까지 기다렸다가 다중화 로직(650)을 이용하여 메모리 제어로직 B(620)의 신호들을 통합 메모리(710)에 연결해야만 한다.In this structure, after the
그런데, 여기서 기능로직 A(610)는 매우 적은 메모리 용량을 필요로 하고 기능로직 B(630)는 매우 많은 메모리 용량을 필요로 한다고 하면, 기능로직 A(610)가 동작하는 동안 실제로는 적은 메모리 용량만을 필요로 함에도 불구하고 통합 메모리(710) 전체를 메모리 제어로직 A(620)에 연결하게 되어 메모리 용량의 낭비가 발생하였다. 게다가 기능로직 B(630)는 매우 많은 양의 데이터를 처리하기 때문에, 기능로직 B(630)가 동작하고 있을 때 기능로직 A(610)가 통합 메모리(710)를 사용하고자 한다면 기능로직 B(630)가 데이터 처리가 완전히 끝날 때까지 많은 시간을 기다려야만 했다. 따라서 여러 동작이 동시에 일어났을 때 통합 메모리의 사용으로 인하여 동작 처리에 지연이 발생하였다는 문제점이 있었다.
However, if the
따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명의 목적은, 동일한 형태의 통합 메모리를 동시에 사용할 수 있도록 하는 메모리 공유장치를 제공하는 것이다.Accordingly, an object of the present invention, which was devised to solve the problems of the prior art operating as described above, is to provide a memory sharing apparatus that enables the use of the same type of integrated memory at the same time.
본 발명의 다른 목적은, 프로그래머블 분리 로직을 이용하여 동일한 형태의 통합 메모리를 동시에 사용하는 메모리 공유장치를 제공하는 것이다.Another object of the present invention is to provide a memory sharing device that uses the same type of integrated memory at the same time using programmable separation logic.
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명의 실시예는,Embodiment of the present invention created to achieve the object as described above,
고유한 기능을 수행하며 서로 다른 메모리 용량을 필요로 하는 제1 및 제2 기능블럭들과,First and second functional blocks that perform unique functions and require different memory capacities;
상기 제1 및 제2 기능블럭들에 의하여 공유되며 자기진단 로직을 가지는 통합 메모리와,An integrated memory shared by the first and second functional blocks and having self-diagnostic logic;
상기 제1 및 제2 기능블럭들이 상기 통합 메모리를 사용하도록 하기 위한 기록/독출 주소 신호와 기록/독출 이네이블 신호를 각각 생성하는 제1 및 제2 메모리 제어로직들과,First and second memory control logics respectively generating a write / read address signal and a write / read enable signal for causing the first and second functional blocks to use the integrated memory;
상기 통합 메모리의 전체 메모리 영역을 제1 메모리 영역과 제2 메모리 영역으로 분리하고 상기 분리된 각 메모리 영역에 적합하도록 변환된 기록/독출 주소 신호를 상기 통합 메모리로 제공하는 분리로직을 포함한다.
And a separate logic that separates the entire memory area of the integrated memory into a first memory area and a second memory area and provides the integrated memory with a write / read address signal converted to be suitable for each of the separated memory areas.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.Hereinafter, with reference to the accompanying drawings will be described in detail the operating principle of the preferred embodiment of the present invention. In the following description of the present invention, detailed descriptions of well-known functions or configurations will be omitted if it is determined that the detailed description of the present invention may unnecessarily obscure the subject matter of the present invention. Terms to be described later are terms defined in consideration of functions in the present invention, and may be changed according to intentions or customs of users or operators. Therefore, the definition should be made based on the contents throughout the specification.
후술되는 본 발명은 통합 메모리를 사용하는 구조에 있어서 전체 칩의 게이트 수를 줄이는데 있어서 효과적인 방법인 메모리 공유장치를 개시한다. 이러한 본 발명은 두 개의 기능로직들이 필요로 하는 서로 다른 메모리 용량 중 더 큰 메모리 용량을 가지는 하나의 통합 메모리와, 메모리 분리 기능을 가지는 메모리 제어로직들을 구비한다. 상기 메모리 제어로직들은 상기 메모리 분리 기능에 의하여 상기 통합 메모리를 영역별로 분리 인식하고 읽기/쓰기 주소를 변환한다.The present invention described below discloses a memory sharing apparatus that is an effective method for reducing the gate count of an entire chip in a structure using an integrated memory. The present invention includes one integrated memory having a larger memory capacity among different memory capacities required by two functional logics, and memory control logics having a memory separation function. The memory control logics recognize the integrated memory by area by the memory separating function and convert read / write addresses.
도 4는 본 발명에 따라 분리로직을 이용하는 메모리 공유장치의 구성을 나타낸 것이다. 여기서 기능블럭(800)은 기능로직 A(810)와 기능로직 B(820)와 메모리 제어로직 A(830)와 메모리 제어로직 B(840)를 포함하며, 상기 기능블럭(800)에 연결되는 메모리 장치(900)는 통합 메모리(910)와 자기진단 로직(940)을 포함한다. 여기서 상기 통합 메모리(910)는 상기 기능로직 A(310)가 필요로 하는 메모리 용량과 상기 기능로직 B(820)가 필요로 하는 메모리 용량 중 더 큰 메모리 용량을 가지는 양방향 SRAM(Dual Port Synchronous Random Access Memory)이며, 더 작은 메모리 용량을 필요로 하는 상기 기능로직 A(820)의 메모리 제어로직 A(830)는 통합 메모리(910)의 전체 메모리 영역을 제1 메모리 영역(920)과 제2 메모리 영역(930)으로 분리하고 메모리 제어로직 A(830)에 의해 생성된 주소를 변환하는 분리로직(835)을 포함한다. 4 illustrates a configuration of a memory sharing apparatus using a separate logic according to the present invention. The
상기 기능로직 A(810)는 100×8의 메모리 용량을 필요로 하고 상기 기능로직 B(820)가 1000×8의 메모리 용량을 필요로 한다고 하면, 상기 통합 메모리(910)는 전체 1000×8의 메모리 용량을 가진다. 상기 통합 메모리(910)의 전체 메모리 용량은 분리 포인터(Split Pointer)라고 불리는 논리적인 포인터에 의하여 분리되다. 도 4에서 통합 메모리(910)의 전체 메모리 영역을 100×8의 제1 메모리 영역(920)과 900×8의 제2 메모리 영역(930)으로 논리적으로 분리하는 분리 포인터(901)를 도시하였으며, 여기서 상기 100×8(920)의 메모리 용량은 기능로직 A(810)의 동작시 사용되는 부분이다. 이러한 분리 포인터(901)는 기능로직 A(810)가 동작하는지 또는 기능로직 B(820)가 동작하는지 등의 여부에 따라 프로그래머블하게 변경 가능하다.The functional logic A 810 requires a memory capacity of 100 x 8 and the
상기 메모리 제어로직 A(830)는 상기 기능로직 A(810)의 메모리 액세스 요구시 종래기술에서와 마찬가지로 기록 또는 독출 주소를 생성한다. 그러면 상기 분리로직(835)은 상기 분리 포인터(901)를 이용하여, 상기 생성된 기록 또는 독출 주소를 상기 제1 메모리 영역(920)을 액세스하기에 적합하게 변환한다.The memory
이하 상기 분리로직(835)의 동작을 상세히 설명한다.Hereinafter, the operation of the
상기 분리로직(835)의 상세 구성 및 그 연결은 도 5에 보인 바와 같다. 여기서 도 5는 상기 분리로직(835)에서 메모리 제어로직 A(830)의 주소 디코딩 로직(1100)에 의하여 생성된 기록 주소(Write Address)를 변환하기 위한 주소 변환부(1200)의 구성을 보인 것이며, 도시하지 않을 것이지만 상기 분리로직 A(835)내 에 동일한 구성의 주소 변환부가 독출 주소(Read Address)를 변환하기 위하여 존재한다. 또한 상기 도 5에서 프로세서(100)는 도 4의 기능블럭(800) 전체의 동작을 관리하며 기능로직들(810)(820)과 통합 메모리(900) 사이의 메모리 액세스를 제어하는 제어기이다.Detailed configuration of the
상기 도 5를 참조하면, 주소 변환부(1200)는 복수의 다중화기(1107 내지 1110)와 복수의 분리 레지스터(1101 내지 1104)와 제1 및 제2 가산기(1105)(1106)와 n비트 카운터(1107)를 포함하여 구성된다. 여기서 상기 분리 레지스터(1101 내지 1104)는 통합 메모리(910)를 2개의 메모리 영역(920) (930)으로 분리하기 위한 분리 포인터 값(Split Value)을 각 비트별로 저장한다. 도 5에는 4개의 분리 레지스터(1101 내지 1104)를 도시하였으나, 그 개수는 통합 메모리(910)의 전체 메모리 용량에 따라 정해질 것이다.Referring to FIG. 5, the
주소 디코딩 로직(110)이 상기 다중화기(1107 내지 1110)를 이네이블시키면, 프로세서(1000)에 의해 지정된 분리 포인터 값을 나타내는 PWDATA가 분리 레지스터(1101 내지 1104)에 저장된다. 이네이블되지 않은 상태에서 다중화기(1107 내지 1110)는 레지스터(1101 내지 1104)에 저장된 분리 포인터 값을 유지시킨다. 상기 레지스터(1101 내지 1104)에 저장된 분리 포인터 값은 매 기록 동작시마다 가산기(1105)(1106) 및 카운터(1107)에 의하여 '1'씩 더해지면서 기록 포인터(831)가 된다.When the address decoding logic 110 enables the multiplexers 1107-1110, PWDATA representing the separator pointer value specified by the
이하 상기 도 4 및 도 5를 참조하여, 기능로직 A(810)와 기능로직 B(820)가 통합 메모리(910)를 이용하기 위한 동작 절차를 설명한다.
Hereinafter, an operation procedure for the
기능 로직 B(820)가 동작하게 되면, 주소 디코딩 로직(1100)은 분리 레지스터 다중화기(1107 내지 1110)의 이네이블(enable) 신호를 출력한다. 상기 다중화기 이네이블 신호가 출력되면, 분리 레지스터(1101 내지 1104)에 상기 프로세서(1000)에 의해 지정된 분리 포인터 값(PWDATA)이 기록된다. 이 분리 포인터 값은 통합 메모리(910)를 분리하기 위한 값이다. 최초에, 상기 기능로직 B(820)의 WRITE_POINTER B(841), READ_POINTER B(842)는 통합 메모리(910)의 시작 주소(bottom address)이고, 기능로직 A(810)의 WRITE_POINTER A(831), READ_POINTER A(832)는 "시작 주소 + 분리 포인터 값"이다.When the
상기와 같이 통합 메모리(910)를 분리하기 위한 분리 포인터 값이 저장되면, 프로세서(1000)의 제어하에 기능로직 B(820)가 동작하기 시작하고 메모리 제어로직 B(840)는 기록 동작을 수행한다. 상기 메모리 제어로직 B(840)에 의한 기록 동작이 일어날 때마다 WRITE_POINTER B(841)는 상기 "시작 주소"로부터 시작하여 "1"씩 증가하게 된다. 이러한 WRITE_POINTER B(841)의 증가는 가산기(1105)(1106) 및 카운터(1107)에 의하여 이루어진다. 또한 메모리 제어로직 B(840)는 독출 동작을 수행하여 통합 메모리(910)에서 데이터를 읽어낸다. 이때 통합 메모리(910)의 제1 어드레스 포트(A1 port)는 WRITE_POINTER B(841)에 연결되고, 제2 어드레스 포트(A2 port)는 READ_POINTER B(842)에 연결된다.When the separation pointer value for separating the
상기와 같이 기능로직 B(820)를 위한 기록 동작과 독출 동작이 수행되는 중에 기능로직 A(810)의 기록 동작이 요구되는 경우, 기능로직 A(810)의 필요한 메모리 용량은 기능로직 B(820)에 비하여 적고 이에 따라 상기 기능로직 A(810)의 동작 우선순위는 상기 기능로직 B(820)보다 높게 되기 때문에, 프로세서(1000)는 메모리 제어로직 B(840)의 기록 동작을 일시 중지시키고 기능로직 A(810)를 위한 기록 동작을 시작한다. 이와 같이 기록 동작을 먼저 중단시키는 이유는 제2 메모리 영역(930)의 내용을 최대한 독출할 수 있는 시간을 주기 위해서이다.When a write operation of the
이를 위하여 메모리 제어로직 A(830)의 분리로직(835)은 프로세서(100)의 제어하에 메모리 제어로직 B(840)에게 기록 디세이블을 요구하는 내부 제어신호 MUTUAL_CON을 활성화한다. 그러면 통합 메모리(910)의 제1 어드레스 포트는 WRITE_POINTER B(841)와의 연결이 끊어지는 대신 WRITE_POINTER A(831)와 연결된다.To this end, the
통합 메모리(910)의 제1 메모리 영역(920)에 데이터가 입력되면 메모리 제어로직 A(830)가 독출 동작을 수행하게 된다. 이때 READ_POINTER A(832)는 통합 메모리(910)의 제2 어드레스 포트에 연결되어 기능로직 A(810)의 독출 동작을 수행한다. 기능로직 A(810)는 적은 양의 데이터를 처리하기 때문에 기능로직 A(810)의 독출 동작은 비교적 빨리 종료될 것이다.When data is input to the
상기 기능로직 A(810)의 독출 동작이 종료되면, 프로세서(1000)의 제어하에 WRITE_POINTER B(841)가 통합 메모리(910)의 제1 어드레스 포트(A1 port)에 연결되어 기능로직 B(820)의 기록 동작이 다시 시작된다. When the read operation of the
제2 메모리 영역(930)에서의 독출 동작은 제1 메모리 영역(920)의 독출 동작이 종료된 이후, 분리로직(835)으로부터 제공되는 내부 제어신호(801)에 의하여 메모리 제어로직 B(840)에 의한 READ_POINTER B(842)가 통합 메모리(910)의 제2 어드 레스 포트에 연결된다.The read operation in the second memory area 930 is performed by the
도 6은 본 발명의 실시예에 따라 통합 메모리를 동시에 기록/독출하는 동작을 나타낸 흐름도이다.6 is a flowchart illustrating an operation of simultaneously writing and reading an integrated memory according to an embodiment of the present invention.
상기 도 6을 참조하면, 기능로직 B(820)가 통합 메모리(910)의 제1 어드레스 포트를 사용하여 기록 동작을 수행하고 또한 제2 어드레스 포트를 사용하여 독출 동작을 수행하는 도중(S10), 기능로직 A(810)에 의한 통합 메모리(910)의 기록 동작이 요구되면,(S20) 메모리 제어로직 A(830)의 제어하에 기능로직 B(820)의 WRITE_POINTER B(841)와 제1 어드레스 포트간의 연결이 끊어지는 대신(S30) 기능로직 A(810)의 READ_POINTER A(832)가 제2 어드레스 포트에 연결된다.(S40) 이후 기능로직 A(810)는 제2 어드레스 포트를 통해 기록 동작을 수행한다.(S50) 기능로직 A(810)의 기록 동작이 완료되면,(S60) WRITE_POINTER B(810)를 제1 어드레스 포트에 다시 연결하여 기능로직 B(820)의 기능, 독출 동작을 계속 수행한다.(S70)Referring to FIG. 6, while the
한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
Meanwhile, in the detailed description of the present invention, specific embodiments have been described, but various modifications are possible without departing from the scope of the present invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be defined not only by the scope of the following claims, but also by those equivalent to the scope of the claims.
이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다. In the present invention operating as described in detail above, the effects obtained by the representative ones of the disclosed inventions will be briefly described as follows.
본 발명은 통합 메모리를 복수의 메모리 영역으로 분리함으로써 같은 형태의 서로 다른 메모리 용량을 필요로 하는 기능블럭들이 하나의 통합 메모리를 공유할 수 있게 한다. 이에 따라 필요한 자기진단로직의 개수를 줄임으로써 메모리의 사용을 효율화하고 메모리 장치를 소형화, 집적화할 수 있다. The present invention divides the unified memory into a plurality of memory regions so that functional blocks requiring different memory capacities of the same type can share a single unified memory. Accordingly, by reducing the number of required self-diagnosis logics, the use of the memory can be made efficient, and the memory device can be miniaturized and integrated.
또한 통합 메모리의 분리되는 메모리 영역을 프로세서에 의하여 프로그래머블하게 변경 가능하기 때문에 필요한 경우 전체 메모리 영역을 하나의 기능로직에 할당할 수 있으며, 복수의 기능로직에 의한 메모리 액세스 요구시 기능로직들의 우선순위에 따라 신속한 처리가 가능한 요구를 먼저 처리함으로써 통합 메모리 사용에 따른 동작 처리 지연을 최소화할 수 있다.In addition, since the separate memory area of the integrated memory can be changed programmatically by the processor, the entire memory area can be allocated to one functional logic if necessary, and the priority of the functional logic in the case of memory access requests by multiple functional logics can be assigned. Therefore, the processing processing delay due to the use of integrated memory can be minimized by processing the request that can be processed quickly.
Claims (4)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010076928A KR100810262B1 (en) | 2001-12-06 | 2001-12-06 | Memory sharing apparatus using split logic circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010076928A KR100810262B1 (en) | 2001-12-06 | 2001-12-06 | Memory sharing apparatus using split logic circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20030046703A KR20030046703A (en) | 2003-06-18 |
KR100810262B1 true KR100810262B1 (en) | 2008-03-07 |
Family
ID=29573389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010076928A KR100810262B1 (en) | 2001-12-06 | 2001-12-06 | Memory sharing apparatus using split logic circuit |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100810262B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115412511B (en) * | 2022-07-29 | 2024-05-28 | 北京时代民芯科技有限公司 | High-performance counter circuit and counting method for Ethernet switching chip |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR920010066U (en) * | 1990-11-20 | 1992-06-17 | 금성정보통신 주식회사 | Virtual continuous access processing logic of dual port memory |
KR960035628A (en) * | 1995-03-28 | 1996-10-24 | 쯔지 하루오 | Memory interface circuit and access method |
-
2001
- 2001-12-06 KR KR1020010076928A patent/KR100810262B1/en not_active IP Right Cessation
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR920010066U (en) * | 1990-11-20 | 1992-06-17 | 금성정보통신 주식회사 | Virtual continuous access processing logic of dual port memory |
KR960035628A (en) * | 1995-03-28 | 1996-10-24 | 쯔지 하루오 | Memory interface circuit and access method |
Also Published As
Publication number | Publication date |
---|---|
KR20030046703A (en) | 2003-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5367494A (en) | Randomly accessible memory having time overlapping memory accesses | |
US7907469B2 (en) | Multi-port memory device for buffering between hosts and non-volatile memory devices | |
KR100810262B1 (en) | Memory sharing apparatus using split logic circuit | |
KR20060097314A (en) | The method and apparatus for bus connection | |
US6029210A (en) | Memory initialization system selectively outputting a data between a normal data stored in the memory and a fixed value according to a registered access state | |
US20040034748A1 (en) | Memory device containing arbiter performing arbitration for bus access right | |
JP2537526B2 (en) | Multiprocessor system | |
US7249226B2 (en) | Semiconductor system and memory sharing method | |
JPH07182849A (en) | Fifo memory | |
JP2671768B2 (en) | DMA data transfer method | |
JPS6385842A (en) | Information processor | |
JP2716284B2 (en) | Semiconductor integrated circuit | |
KR100189553B1 (en) | Data interfacing circuit between information storage device and computer system | |
JP3903872B2 (en) | Multiple access control circuit | |
JPH02212952A (en) | Memory access control system | |
KR970008526B1 (en) | Interface device for holding the system data in common | |
KR0177773B1 (en) | Arbiter apparatus having simple structure and stable action characteristic | |
JPH03214275A (en) | Semiconductor integrated circuit | |
JP2007328647A (en) | Data transfer method between cpus | |
JP2008287571A (en) | Shared memory switching circuit and switching method | |
JPS6269321A (en) | Process switching system | |
JPH0259551B2 (en) | ||
JPS63188883A (en) | Storage device | |
JPH07101552B2 (en) | Memory integrated circuit | |
KR20010028881A (en) | Apparatus for sharing a Single Port RAM by processors |
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: 20130130 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140128 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150129 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20160128 Year of fee payment: 9 |
|
FPAY | Annual fee payment |
Payment date: 20170125 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |