KR100810262B1 - Memory sharing apparatus using split logic circuit - Google Patents

Memory sharing apparatus using split logic circuit Download PDF

Info

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
Application number
KR1020010076928A
Other languages
Korean (ko)
Other versions
KR20030046703A (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 KR1020010076928A priority Critical patent/KR100810262B1/en
Publication of KR20030046703A publication Critical patent/KR20030046703A/en
Application granted granted Critical
Publication of KR100810262B1 publication Critical patent/KR100810262B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30098Register arrangements
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group 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 메모리 영역으로 분리하고 상기 분리된 각 메모리 영역에 적합하도록 변환된 기록/독출 주소 신호를 상기 통합 메모리로 제공하는 분리로직을 포함한다. 이로써 본 발명은 메모리 장치를 효율화, 소형화, 집적화하고, 동작 처리 지연을 최소화할 수 있다.

Figure R1020010076928

메모리 공유, 분리 로직

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.

Figure R1020010076928

Memory Sharing, Separation Logic

Description

분리로직을 이용한 메모리 공유장치{MEMORY SHARING APPARATUS USING SPLIT LOGIC CIRCUIT} Memory sharing device using separate logic {MEMORY SHARING APPARATUS USING SPLIT LOGIC CIRCUIT}             

도 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 INVENTION 1. Field of the Invention The present invention relates to a memory device, and more particularly, to a method of efficiently sharing memory by using separation logic that can programmatically divide and write two memories having different capacities.

통상적으로 셀룰러 폰(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 bidirectional SRAM 100 may simultaneously perform write and read operations, simultaneously perform different write operations, or simultaneously perform different read operations. The bidirectional SRAM 100 is typically used for the purpose of simultaneously performing write / read or read / write.

상기 도 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. Hardware block 200, 400, including the control logic (220, 420), memory block (310, 510) and a memory block including the self test logic (Self Test Logic) (320, 520) 300).

상기 도 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 memory block 300 includes a memory A 310 having a 1000 × 8 capacity (1000 bytes), and the memory block 500 includes a memory B 510 having a 100 × 8 capacity (100 bytes). . The hardware functional block 200 connected to the memory block 300 includes a functional logic 210 and control signals for the memory A 310, that is, WRITE_POINTER 221, READ_POINTER 222, and WRITE_EN 223. And a memory control logic A 220 for generating a READ_EN 224 and the like, wherein the memory block 300 is implemented as a chip and then self-diagnostic logic 320 to self-diagnose the memory A 310 in the chip. ).

마찬가지로 상기 메모리 블럭(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 functional block 400 connected to the memory block 500 includes a functional logic 410, control signals for the memory B 310, that is, a write address signal WRITE_POINTER 421 and a read address signal READ_POINTER ( 422), a memory control logic B 420 that generates a write enable signal WRITE_EN 423, a read enable signal READ_EN 424, and the like, and wherein the memory block 500 is implemented as a chip and then Self-diagnostic logic 520 for self-diagnosing memory B 510.

이때, 상기 도 2에 도시한 바와 같이 서로 다른 기능에 사용되는 두 개의 메모리 블럭(300)(500)은 하나의 칩 안에 레이아웃 할 때 서로 떨어져서 위치하게 된다. 따라서 메모리들(310)(510)을 제어하기 위한 메모리 제어로직(220)(420)과 자기진단 로직(320)(520)이 각각 필요하였다.In this case, as shown in FIG. 2, the two memory blocks 300 and 500 used for different functions are spaced apart from each other when laid out in one chip. Therefore, the memory control logic 220 and 420 and the self-diagnostic logic 320 and 520 for controlling the memories 310 and 510 were required, respectively.

이러한 문제점을 해결하기 위해 통합 메모리를 사용함으로써 자기진단로직의 개수를 줄이는 메모리 구조를 도 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 memory block 700 is shared by two functional logics 610 and 630, and thus requires only one integrated memory 710 and a self-diagnostic logic 720. In order to perform such memory consolidation, multiplexing logic 650 is required in order for the memory control logics 620 and 640 to share the unified memory 710. The multiplexing logic 650 connects the memory control logic A 620 to the integrated memory 710 when the function logic A 610 operates, and conversely, the memory control logic B when the function logic B 630 operates. 640 is connected to the unified memory 710.

이러한 구조에서, 기능로직 B(630)가 통합 메모리(710)를 사용하기 위해 다중화 로직(650)를 이용하여 메모리 제어 로직 B(620)의 신호들을 통합 메모리(710)에 연결한 이후, 기능로직 A(610)가 통합 메모리(710)를 사용하기 위해서는 기능로직 B(630)의 데이터 처리가 완전히 끝날 때까지 기다렸다가 다중화 로직(650)을 이용하여 메모리 제어로직 B(620)의 신호들을 통합 메모리(710)에 연결해야만 한다.In this structure, after the functional logic B 630 connects the signals of the memory control logic B 620 to the unified memory 710 using the multiplexing logic 650 to use the unified memory 710, the functional logic. In order for the A 610 to use the integrated memory 710, wait until the data processing of the function logic B 630 is completely completed, and then use the multiplexing logic 650 to output the signals of the memory control logic B 620 to the integrated memory 710. 710).

그런데, 여기서 기능로직 A(610)는 매우 적은 메모리 용량을 필요로 하고 기능로직 B(630)는 매우 많은 메모리 용량을 필요로 한다고 하면, 기능로직 A(610)가 동작하는 동안 실제로는 적은 메모리 용량만을 필요로 함에도 불구하고 통합 메모리(710) 전체를 메모리 제어로직 A(620)에 연결하게 되어 메모리 용량의 낭비가 발생하였다. 게다가 기능로직 B(630)는 매우 많은 양의 데이터를 처리하기 때문에, 기능로직 B(630)가 동작하고 있을 때 기능로직 A(610)가 통합 메모리(710)를 사용하고자 한다면 기능로직 B(630)가 데이터 처리가 완전히 끝날 때까지 많은 시간을 기다려야만 했다. 따라서 여러 동작이 동시에 일어났을 때 통합 메모리의 사용으로 인하여 동작 처리에 지연이 발생하였다는 문제점이 있었다.
However, if the function logic A 610 needs a very small memory capacity and the function logic B 630 requires a very large memory capacity, while the function logic A 610 is operating, a small memory capacity is actually used. Despite the need for only the entire integrated memory 710 is connected to the memory control logic A (620) wasted a waste of memory capacity. In addition, since the function logic B 630 processes a very large amount of data, if the function logic A 610 wishes to use the unified memory 710 while the function logic B 630 is operating, the function logic B 630 is processed. ) Had to wait a lot of time until the data processing was completed. Therefore, there is a problem that a delay occurs in the operation processing due to the use of the integrated memory when several operations occur at the same time.

따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명의 목적은, 동일한 형태의 통합 메모리를 동시에 사용할 수 있도록 하는 메모리 공유장치를 제공하는 것이다.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 function block 800 includes a function logic A 810, a function logic B 820, a memory control logic A 830, and a memory control logic B 840, and a memory connected to the function block 800. Apparatus 900 includes integrated memory 910 and self-diagnostic logic 940. The integrated memory 910 is a bidirectional dual port synchronous random access (SRAM) having a larger memory capacity among the memory capacity required by the functional logic A 310 and the memory capacity required by the functional logic B 820. Memory control logic A 830 of the functional logic A 820, which requires a smaller memory capacity, stores the entire memory area of the integrated memory 910 in the first memory area 920 and the second memory area. And a separate logic 835 for separating the address generated by the memory control logic A (830).

상기 기능로직 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 functional logic B 820 requires a memory capacity of 1000 x 8, the integrated memory 910 is a total of 1000 x 8 It has a memory capacity. The total memory capacity of the unified memory 910 is separated by a logical pointer called a split pointer. In FIG. 4, a separation pointer 901 that logically divides the entire memory area of the integrated memory 910 into a 100 × 8 first memory area 920 and a 900 × 8 second memory area 930 is illustrated. The memory capacity of the 100 × 8 920 is a portion used in the operation of the function logic A 810. The separator pointer 901 may be changed programmatically according to whether the function logic A 810 operates or the function logic B 820 operates.

상기 메모리 제어로직 A(830)는 상기 기능로직 A(810)의 메모리 액세스 요구시 종래기술에서와 마찬가지로 기록 또는 독출 주소를 생성한다. 그러면 상기 분리로직(835)은 상기 분리 포인터(901)를 이용하여, 상기 생성된 기록 또는 독출 주소를 상기 제1 메모리 영역(920)을 액세스하기에 적합하게 변환한다.The memory control logic A 830 generates a write or read address as in the prior art when a memory access request of the function logic A 810 is performed. The separation logic 835 then converts the generated write or read address to be suitable for accessing the first memory area 920 using the separation pointer 901.

이하 상기 분리로직(835)의 동작을 상세히 설명한다.Hereinafter, the operation of the separation logic 835 will be described in detail.

상기 분리로직(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 separation logic 835 and its connection is as shown in FIG. 5 illustrates a configuration of an address conversion unit 1200 for converting a write address generated by the address decoding logic 1100 of the memory control logic A 830 in the separation logic 835. Although not shown, an address conversion unit having the same configuration exists in the separation logic A 835 to convert a read address. In addition, in FIG. 5, the processor 100 is a controller that manages the operation of the entire function block 800 of FIG. 4 and controls memory access between the function logics 810 and 820 and the integrated memory 900.

상기 도 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 address conversion unit 1200 includes a plurality of multiplexers 1107 through 1110, a plurality of separation registers 1101 through 1104, first and second adders 1105, 1106, and an n-bit counter. 1107. The split registers 1101 to 1104 store split values for splitting the integrated memory 910 into two memory regions 920 and 930 for each bit. Although four isolation registers 1101 to 1104 are shown in FIG. 5, the number will be determined according to the total memory capacity of the integrated memory 910.

주소 디코딩 로직(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 processor 1000 is stored in the separator registers 1101-1104. In the non-enabled state, multiplexers 1107-1110 maintain the separator pointer values stored in registers 1101-1104. The separator pointer values stored in the registers 1101 to 1104 are added to the write pointer 831 by '1' by the adders 1105 and 1106 and the counter 1107 in every write operation.

이하 상기 도 4 및 도 5를 참조하여, 기능로직 A(810)와 기능로직 B(820)가 통합 메모리(910)를 이용하기 위한 동작 절차를 설명한다. Hereinafter, an operation procedure for the functional logic A 810 and the functional logic B 820 to use the integrated memory 910 will be described with reference to FIGS. 4 and 5.                     

기능 로직 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 functional logic B 820 operates, the address decoding logic 1100 outputs an enable signal of the separation register multiplexers 1107 through 1110. When the multiplexer enable signal is output, the split pointer value PWDATA designated by the processor 1000 is recorded in the split registers 1101 to 1104. This split pointer value is for splitting the unified memory 910. Initially, the WRITE_POINTER B 841 and READ_POINTER B 842 of the functional logic B 820 are the bottom address of the integrated memory 910, the WRITE_POINTER A 831 of the functional logic A 810, READ_POINTER A 832 is the "start address + separator pointer value".

상기와 같이 통합 메모리(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 integrated memory 910 is stored as described above, the function logic B 820 starts to operate under the control of the processor 1000, and the memory control logic B 840 performs a write operation. . Each time a write operation by the memory control logic B 840 occurs, the WRITE_POINTER B 841 is incremented by "1" starting from the "start address". This increase in WRITE_POINTER B 841 is made by adders 1105 and 1106 and counter 1107. The memory control logic B 840 also reads data from the unified memory 910 by performing a read operation. In this case, the first address port A1 port of the integrated memory 910 is connected to the WRITE_POINTER B 841, and the second address port A2 port is connected to the READ_POINTER B 842.

상기와 같이 기능로직 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 function logic A 810 is required while the write operation and the read operation for the function logic B 820 are performed as described above, the required memory capacity of the function logic A 810 is the function logic B 820. And the operation priority of the function logic A 810 is higher than the function logic B 820, so that the processor 1000 pauses the write operation of the memory control logic B 840 and Start a write operation for logic A 810. The reason why the write operation is interrupted first is to give time for reading the contents of the second memory area 930 to the maximum.

이를 위하여 메모리 제어로직 A(830)의 분리로직(835)은 프로세서(100)의 제어하에 메모리 제어로직 B(840)에게 기록 디세이블을 요구하는 내부 제어신호 MUTUAL_CON을 활성화한다. 그러면 통합 메모리(910)의 제1 어드레스 포트는 WRITE_POINTER B(841)와의 연결이 끊어지는 대신 WRITE_POINTER A(831)와 연결된다.To this end, the separate logic 835 of the memory control logic A 830 activates the internal control signal MUTUAL_CON that requires the memory control logic B 840 to write disable under the control of the processor 100. Then, the first address port of the integrated memory 910 is connected to the WRITE_POINTER A 831 instead of disconnected from the WRITE_POINTER B 841.

통합 메모리(910)의 제1 메모리 영역(920)에 데이터가 입력되면 메모리 제어로직 A(830)가 독출 동작을 수행하게 된다. 이때 READ_POINTER A(832)는 통합 메모리(910)의 제2 어드레스 포트에 연결되어 기능로직 A(810)의 독출 동작을 수행한다. 기능로직 A(810)는 적은 양의 데이터를 처리하기 때문에 기능로직 A(810)의 독출 동작은 비교적 빨리 종료될 것이다.When data is input to the first memory area 920 of the integrated memory 910, the memory control logic A 830 performs a read operation. In this case, the READ_POINTER A 832 is connected to the second address port of the integrated memory 910 to perform a read operation of the function logic A 810. Since functional logic A 810 processes a small amount of data, the read operation of functional logic A 810 will end relatively quickly.

상기 기능로직 A(810)의 독출 동작이 종료되면, 프로세서(1000)의 제어하에 WRITE_POINTER B(841)가 통합 메모리(910)의 제1 어드레스 포트(A1 port)에 연결되어 기능로직 B(820)의 기록 동작이 다시 시작된다. When the read operation of the function logic A 810 is terminated, under the control of the processor 1000, the WRITE_POINTER B 841 is connected to the first address port A1 port of the integrated memory 910 so that the function logic B 820 may be connected. The recording operation is restarted.

제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 internal control signal 801 provided from the separation logic 835 after the read operation of the first memory area 920 is terminated. READ_POINTER B 842 is connected to the second address port of the unified memory 910.

도 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 functional logic B 820 performs a write operation using the first address port of the integrated memory 910 and performs a read operation using the second address port (S10), If a write operation of the integrated memory 910 by the functional logic A 810 is required (S20), under the control of the memory control logic A 830, the WRITE_POINTER B 841 and the first address port of the functional logic B 820 are controlled. Instead of being disconnected (S30), the READ_POINTER A 832 of the function logic A 810 is connected to the second address port. (S40) Afterwards, the function logic A 810 performs a write operation through the second address port. (S50) When the recording operation of the function logic A 810 is completed (S60), the WRITE_POINTER B 810 is connected to the first address port again to continue the function of the function logic B 820 and the read operation. (S70)

한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.
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)

고유한 기능을 수행하며 서로 다른 메모리 용량을 필요로 하는 제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 a unique 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 기능블럭에 의하여 사용 가능한 제1 메모리 영역과 상기 제2 기능블럭에 의하여 사용 가능한 제2 메모리 영역으로 분리하고, 상기 분리된 메모리 영역에 적합하도록 변환된 기록/독출 주소 신호를 상기 통합 메모리로 제공하는 분리로직을 포함하는 것을 특징으로 하는 메모리 공유장치.A total memory area of the integrated memory divided into a first memory area usable by the first functional block and a second memory area usable by the second functional block and converted to fit into the separated memory area And a separate logic to provide a read / write address signal to the integrated memory. 제 1 항에 있어서, 상기 통합 메모리는, 상기 제1 및 제2 기능블럭들이 필요로 하는 메모리 용량 중 더 큰 메모리 용량을 가지는 것을 특징으로 하는 메모리 공유장치.The memory sharing apparatus of claim 1, wherein the integrated memory has a larger memory capacity among memory capacities required by the first and second functional blocks. 제 1 항 또는 제 2 항에 있어서, 상기 분리로직은,The method of claim 1 or 2, wherein the separation logic, 상기 통합 메모리의 전체 메모리 영역이 분리되는 위치를 표시하기 위한 분리 포인터 값을 저장하는 복수개의 레지스터와,A plurality of registers for storing a separation pointer value for indicating a position at which the entire memory area of the integrated memory is separated; 기록/독출 요구 발생시마다 상기 분리 포인터 값을 1씩 증가시킴으로써 상기 변환된 기록/독출 주소 신호를 생성하는 가산기 및 카운터를 포함하는 것을 특징으로 하는 메모리 공유장치And an adder and a counter for generating the converted write / read address signal by increasing the split pointer value by 1 each time a write / read request occurs. 제 3 항에 있어서, 상기 분리 포인터 값은 프로그래머블하게 변경 가능한 것을 특징으로 하는 메모리 공유장치.4. The apparatus of claim 3, wherein the split pointer value is programmable.
KR1020010076928A 2001-12-06 2001-12-06 Memory sharing apparatus using split logic circuit KR100810262B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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
KR20060097314A (en) The method and apparatus for bus connection
KR100810262B1 (en) Memory sharing apparatus using split logic circuit
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
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
JPS63142589A (en) Semiconductor memory
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