KR100874169B1 - Dual port memory for direct transfer of commands between processors and method for performing them - Google Patents

Dual port memory for direct transfer of commands between processors and method for performing them Download PDF

Info

Publication number
KR100874169B1
KR100874169B1 KR1020070011144A KR20070011144A KR100874169B1 KR 100874169 B1 KR100874169 B1 KR 100874169B1 KR 1020070011144 A KR1020070011144 A KR 1020070011144A KR 20070011144 A KR20070011144 A KR 20070011144A KR 100874169 B1 KR100874169 B1 KR 100874169B1
Authority
KR
South Korea
Prior art keywords
processor
command
address
control signal
shared memory
Prior art date
Application number
KR1020070011144A
Other languages
Korean (ko)
Other versions
KR20080072412A (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 KR1020070011144A priority Critical patent/KR100874169B1/en
Publication of KR20080072412A publication Critical patent/KR20080072412A/en
Application granted granted Critical
Publication of KR100874169B1 publication Critical patent/KR100874169B1/en

Links

Images

Classifications

    • 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/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • G06F13/1663Access to shared memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Abstract

프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및 이를 수행하기 위한 방법에 관한 것이다. 본 발명은 공유 메모리 영역을 가지는 메모리 어레이; 제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 대해 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스; 제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스; 및 상기 제1 프로세서 및 상기 제2 프로세서 중 어느 하나의 프로세서가 상기 제1 메모리 인터페이스 및 제2 메모리 인터페이스 중 어느 하나를 통해 출력하는 커맨드를 상대 프로세서로 직접 전달하는 커맨드 전달 처리부를 포함할 수 있다. 본 발명에 따르면, 듀얼 포트 메모리 시스템에서 프로세서 사이에 권한 획득 없이 커맨드를 전달할 수 있는 장점이 있다. A dual port memory for directly transferring processor-to-processor commands and a method for performing the same. The present invention provides a memory array having a shared memory area; A first memory interface configured to perform a write or read operation on the shared memory area based on an address and a control signal provided through a first port from a first processor; A second memory interface configured to perform a write or read operation on the shared memory area based on an address and a control signal provided from a second processor through a second port; And a command transfer processor configured to directly transfer a command output by any one of the first processor and the second processor through one of the first memory interface and the second memory interface to the counterpart processor. According to the present invention, there is an advantage in that a command can be transferred between processors in a dual port memory system without obtaining authority.

Description

프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및 이를 수행하기 위한 방법{Dual Port Memory for directly transferring command between processors and Method of Performing the Same}Dual Port Memory for directly transferring command between processors and Method of Performing the Same}

도 1은 종래기술에 따른 듀얼 포트 메모리 시스템의 블록도. 1 is a block diagram of a dual port memory system according to the prior art.

도 2는 일반적인 세마포 처리부의 블록도. 2 is a block diagram of a general semaphore processing unit.

도 3은 종래기술에 따른 제1 프로세서에서 제2 프로세서로의 커맨드 전달 과정을 도시한 순서도. 3 is a flowchart illustrating a command transfer process from a first processor to a second processor according to the prior art.

도 4는 본 발명의 바람직한 일 실시예에 따른 듀얼 포트 메모리 시스템의 블록도. 4 is a block diagram of a dual port memory system in accordance with a preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 일 실시예에 따른 커맨드 전달 처리부의 상세 구성을 도시한 블록도. 5 is a block diagram showing a detailed configuration of a command delivery processing unit according to an embodiment of the present invention.

도 6은 본 발명에 따른 프로세서의 커맨드 전달 과정을 도시한 순서도. 6 is a flowchart illustrating a command transfer process of a processor according to the present invention.

도 7은 본 발명에 따른 커맨드 전달 처리부의 커맨드 전달 및 프로세서의 커맨드 실행 과정의 순서도.7 is a flowchart illustrating a command delivery process of a command transfer processing unit and a command execution process of a processor according to the present invention.

본 발명은 프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및 이를 수행하기 위한 방법에 관한 것으로서, 보다 상세하게는 각 프로세서가 공유 메모리 영역을 사용하기 위한 권한 획득 없이 서로 커맨드를 전달할 수 있는 듀얼 포트 메모리 및 시스템에 관한 것이다. The present invention relates to a dual port memory for directly transferring commands between processors and a method for performing the same. More particularly, the present invention relates to a dual port memory capable of transferring commands to each processor without obtaining permission to use a shared memory area. It is about the system.

최근 들어 휴대폰 및 PDA(Personal Digital Assistant) 등과 같은 휴대용 단말기는 음성통화와 같은 이동통신 기능 이외에도 디지털 카메라, 화상전화, 멀티미디어 데이터의 재생 등과 같은 다양한 부가기능을 포함하고 있다.Recently, portable terminals such as mobile phones and PDAs (Personal Digital Assistants) include various additional functions such as digital cameras, video phones, and multimedia data playback in addition to mobile communication functions such as voice calls.

휴대용 단말기는 상기와 같은 이동 통신 본래의 기능을 처리하는 모뎀 프로세서와 다양한 응용프로그램을 처리하기 위한 응용 프로세서가 구비된다.The portable terminal is provided with a modem processor for processing the original functions of the mobile communication and an application processor for processing various applications.

또한, 일반적으로 두 개의 프로세서를 가지는 휴대용 단말기에서는 두 개의 프로세서간의 데이터 송수신을 고속으로 수행함으로써 시스템의 처리 성능을 향상시키고, 메모리의 실장 면적을 줄이기 위해 듀얼 포트 메모리(dual port memory, 특히 듀얼 포트 SDRAM)가 사용된다. In addition, in general, a portable terminal having two processors performs data transmission and reception between the two processors at a high speed, thereby improving the processing performance of the system and reducing the memory footprint of the dual port memory (particularly dual port SDRAM). ) Is used.

즉, 두 개의 프로세서가 듀얼 포트 메모리를 사용하게 되면 각각의 프로세서가 자신의 포트를 사용하여 공유 메모리 영역에 액세스하여 데이터를 읽고 쓸 수 있기 때문에 두 개의 프로세서가 각각 서로 다른 메모리에 연결되어 호스트 프로세서간 인터페이스(Host Porcessor Interface: HPI)를 통해 처리 데이터를 송수신 하는 경우보다 데이터의 전송 및 처리 속도가 더 빠르고 이로 인해 시스템의 전체적인 성능이 향상된다.In other words, when two processors use dual port memory, each processor can use its own port to access the shared memory area to read and write data, so that the two processors are connected to different memory to each other. Sending and receiving processing data through the host porcessor interface (HPI) is faster and speeds up the data transfer, which improves the overall performance of the system.

도 1은 종래기술에 따른 듀얼 포트 메모리 시스템의 블록도를 도시한 도면이 다. 1 is a block diagram of a dual port memory system according to the prior art.

도 1을 참조하면, 각 프로세서(100,104)는 각 외부 버스 인터페이스(102,106)를 통해 듀얼 포트 메모리(듀얼 포트 SDRAM: Dual Port Synchronous Dynamic Random Access Memory, 108)에 연결된다.Referring to FIG. 1, each processor 100, 104 is connected to a dual port memory (Dual Port Synchronous Dynamic Random Access Memory, 108) via each external bus interface 102, 106.

듀얼 포트 SDRAM(108)은 두 개의 프로세서가 공동으로 액세스(access)하여 기입 또는 독출 작업을 수행하는 공유 메모리 영역을 포함한다.The dual port SDRAM 108 includes a shared memory area in which two processors jointly access and perform a write or read operation.

각 프로세서(100,104)는 공유 메모리 영역에 액세스하고자 하는 경우, 듀얼 포트 SDRAM(108)로부터 권한을 획득한 후에 공유 메모리 영역에 액세스한다. Each processor 100, 104 accesses the shared memory area after obtaining rights from the dual port SDRAM 108 if it wishes to access the shared memory area.

듀얼 포트 SDRAM(108)는 공유 메모리 영역에 대한 각 프로세서의 상호 배타적(mutual exclusive) 액세스를 보장하고 각 프로세서간의 동기화된 작업을 보장하기 위해 세마포 처리부(semaphore, 110)를 이용한다.The dual port SDRAM 108 utilizes a semaphore 110 to ensure mutual exclusive access of each processor to the shared memory area and to ensure synchronized work between each processor.

도 2는 일반적인 세마포 처리부의 블록도로서, 도 2에 도시된 바와 같이, 일반적인 세마포 처리부(110)는 제1 세마포 요청 레지스터(200), 제2 세마포 요청 레지스터(202), 상태 제어부(204), 제1 세마포 레지스터(206) 및 제2 세마포 레지스터(208)로 구성된다. FIG. 2 is a block diagram of a general semaphore processing unit. As shown in FIG. 2, the general semaphore processing unit 110 includes a first semaphore request register 200, a second semaphore request register 202, a state controller 204, It consists of a first semaphore register 206 and a second semaphore register 208.

제1 세마포 요청 레지스터(200)에는 제1 프로세서(100)의 액세스 권한 요청이 있는 경우에 권한 요청을 위한 데이터(DQ1, 예를 들어, 논리값 '0')가 기입되며, 제2 세마포 요청 레지스터(202)에는 제2 프로세서(104)의 권한 요청에 따른 데이터(DQ2)가 기입된다. In the first semaphore request register 200, when there is an access right request of the first processor 100, data DQ1 (eg, a logical value '0') for the right request is written, and the second semaphore request register is written. In 202, data DQ2 according to the authority request of the second processor 104 is written.

상태 제어부(204)는 상기와 같이 각 프로세서(100,104)로부터 액세스 권한 요청이 있는 경우, 요청된 공유 메모리 영역의 상태를 판단하며, 판단된 상태에 따른 데이터를 각 프로세서에 상응하는 제1 세마포 레지스터(206) 또는 제2 세마포 레지스터(208)에 제공한다. When there is a request for access right from each processor 100 or 104 as described above, the state controller 204 determines the state of the requested shared memory area, and the first semaphore register corresponding to each processor includes data according to the determined state. 206 or the second semaphore register 208.

예를 들어, 제1 프로세서(100)의 권한 요청 시 공유 메모리 영역의 사용이 가능한 경우에는 상태 제어부(204)는 제1 세마포 레지스터(206)에 논리값 '0'이 기입되도록 하며, 사용이 불가능한 경우에는 논리값 '1'이 기입되도록 한다.For example, when the shared memory area is available when the authority request of the first processor 100 is enabled, the state controller 204 causes the logical value '0' to be written in the first semaphore register 206 and cannot be used. In this case, the logical value '1' is written.

제1 프로세서(100)는 제1 세마포 레지스터(206)에서 기입된 데이터를 독출하여 권한이 획득되었는지를 확인하며, 제2 프로세서(104)는 제2 세마포 레지스터(208)로부터 독출된 데이터를 통해 권한 획득 여부를 확인하게 된다. The first processor 100 reads the data written in the first semaphore register 206 and checks whether the right has been acquired, and the second processor 104 has the right through the data read out from the second semaphore register 208. It will check whether it is acquired.

이처럼 세마포 처리부(110)는 소정의 공유 메모리 영역에 대한 액세스 가능 여부(권한 획득 여부)를 소정의 공유 메모리 영역의 현재의 상태에 따라 이진 논리값(예를 들면, '0' 또는 '1')을 이용하여 각 프로세서(100,104)에게 상호 배타적으로 제공함으로써 소정의 공유 메모리 영역에 각각의 프로세서가 상호 배타적으로 액세스하도록 한다. As such, the semaphore processing unit 110 determines whether or not access to a predetermined shared memory area (permission or not) is based on a binary logic value (for example, '0' or '1') according to a current state of the predetermined shared memory area. By mutually exclusively providing the processors 100 and 104 to each processor, each processor mutually exclusively accesses a predetermined shared memory area.

그러나 종래에는 제1 프로세서(100)와 제2 프로세서(104)가 듀얼 포트 메모리(108)를 통해 연결되기 때문에 각 프로세서(100,104) 사이에 커맨드를 전달하는 경우에도 액세스 권한을 획득해야 하는 문제점이 있었다.However, in the related art, since the first processor 100 and the second processor 104 are connected through the dual port memory 108, there is a problem in that even when a command is transmitted between the processors 100 and 104, access rights must be obtained. .

도 3은 종래기술에 따른 커맨드 전달 과정을 도시한 도면으로서, 제1 프로세서(100)가 제2 프로세서(104)로 커맨드를 전달하는 과정을 도시한 도면이다. 3 is a diagram illustrating a command transfer process according to the related art, in which the first processor 100 transmits a command to the second processor 104.

도 3을 참조하면, 제1 프로세서(100)가 제2 프로세서(104)로 커맨드를 전달 하고자 하는 경우, 제1 프로세서(100)는 세마포 처리부(110)의 제1 세마포 요청 레지스터(200)에 권한 획득을 위한 데이터를 기입한다(단계 300). Referring to FIG. 3, when the first processor 100 intends to transmit a command to the second processor 104, the first processor 100 may authorize the first semaphore request register 200 of the semaphore processing unit 110. Write data for acquisition (step 300).

이후, 제1 프로세서(100)는 상태 제어부(204)의 제어에 따라 제1 세마포 레지스터(206)에 제공된 데이터를 독출한다(단계 302). Thereafter, the first processor 100 reads data provided to the first semaphore register 206 under the control of the state controller 204 (step 302).

독출된 데이터를 통해 권한이 획득되었는지 여부를 판단하며(단계 304), 권한이 획득된 경우에 제1 프로세서(100)는 듀얼 포트 메모리(108)의 공유 메모리 영역에 제2 프로세서(104)에 전달할 제1 커맨드를 기입한다(단계 306).It is determined whether the authority is acquired through the read data (step 304), and if the authority is obtained, the first processor 100 transmits to the second processor 104 in the shared memory area of the dual port memory 108. The first command is written (step 306).

커맨드가 기입된 후 제2 프로세서(104)는 단계 200 내지 204와 같은 권한 획득 과정을 수행하며(단계 308), 공유 메모리 영역으로의 액세스 권한이 획득된 후에 공유 메모리 영역에서 제1 커맨드를 독출한다(단계 310). After the command is written, the second processor 104 performs the right acquisition process as in steps 200 to 204 (step 308), and reads the first command from the shared memory area after the access right to the shared memory area is obtained. (Step 310).

상기와 같이, 종래기술에 따른 듀얼 포트 메모리 시스템은 각 프로세서(100,104)가 필요한 명령을 실행하기 위한 경우뿐만 아니라 상대 프로세서에 커맨드를 전달하는 경우에도 권한 획득을 요구하기 때문에 커맨드 전달이 지연되며, 커맨드 전달 시간동안 다른 프로세서가 공유 메모리 영역을 사용하지 못하는 문제점이 있었다.As described above, the dual port memory system according to the related art delays command transfer because the processor 100 and 104 require the acquisition of authority not only for executing a necessary command but also for transferring a command to a counterpart processor. There was a problem that other processors cannot use the shared memory area during the transfer time.

본 발명에서는 상기한 바와 같은 종래기술의 문제점을 해결하기 위해, 듀얼 포트 메모리 시스템에서 각 프로세서 사이에 세마포 처리부로부터 권한 획득없이 직접적으로 커맨드를 전달할 수 있는 프로세서간 커맨드를 직접 전달하는 듀얼 포트 메모리 및 이를 수행하기 위한 방법에 관한 것이다.In the present invention, in order to solve the problems of the prior art as described above, in a dual port memory system, a dual port memory for directly transferring commands between processors that can directly transfer commands from the semaphore processor without obtaining permission from each processor and the same. It relates to a method for carrying out.

상기한 바와 같은 목적을 달성하기 위해, 본 발명의 바람직한 일 실시예에 따르면, 공유 메모리 영역을 가지는 메모리 어레이; 제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 대해 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스; 제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스; 및 상기 제1 프로세서 및 상기 제2 프로세서 중 어느 하나의 프로세서가 상기 제1 메모리 인터페이스 및 제2 메모리 인터페이스 중 어느 하나를 통해 출력하는 커맨드를 상대 프로세서로 직접 전달하는 커맨드 전달 처리부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리가 제공된다.In order to achieve the above object, according to a preferred embodiment of the present invention, a memory array having a shared memory region; A first memory interface configured to perform a write or read operation on the shared memory area based on an address and a control signal provided through a first port from a first processor; A second memory interface configured to perform a write or read operation on the shared memory area based on an address and a control signal provided from a second processor through a second port; And a command transfer processor configured to directly transfer a command output by any one of the first processor and the second processor through one of the first memory interface and the second memory interface to a counterpart processor. Dual port memory is provided.

본 발명의 다른 측면에 따르면, 제1 프로세서; 제2 프로세서; 및 공유 메모리 영역을 가지는 메모리 어레이와, 제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 대해 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스와, 제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스와, 상기 제1 프로세서 및 상기 제2 프로세서 중 어느 하나의 프로세서에서 상기 제1 메모리 인터페이스 및 제2 메모리 인터페이스 중 어느 하나를 통해 출력하는 커맨드를 상대 프로세서로 직접 전달하는 커맨드 전달 처리부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리 시스템이 제공 된다.According to another aspect of the invention, the first processor; A second processor; A memory array having a shared memory area, a first memory interface configured to perform a write or read operation on the shared memory area based on an address and a control signal provided through a first port from the first processor, and from the second processor; A second memory interface configured to perform a write or read operation in the shared memory area based on an address and a control signal provided through a second port; and the first memory in any one of the first processor and the second processor. A dual port memory system is provided that includes a command transfer processor for directly transferring a command output through one of an interface and a second memory interface to a counterpart processor.

본 발명의 다른 측면에 따르면, 제1 외부 버스 인터페이스를 통해 제1 프로세서와 연결되며, 제2 외부 버스 인터페이스를 통해 제2 프로세서에 연결되는 듀얼 포트 메모리에서 커맨드 전달을 처리하는 방법으로서, (a) 상기 제1 프로세서로부터 커맨드 직접 전달을 위한 어드레스, 제어신호 및 커맨드 데이터를 수신하는 단계-상기 어드레스는 커맨드 직접 전달을 위한 커맨드 전달 처리부에 상응하는 어드레스임-; (b) 상기 어드레스 및 제어신호를 디코딩하여 상기 커맨드 데이터를 상기 커맨드 전달 처리부에 기입하는 단계; (c) 상기 커맨드 데이터의 기입에 따른 인터럽트 신호를 상기 제2 프로세서로 출력하는 단계; 및 (d) 상기 인터럽트 신호를 수신한 제2 프로세서로부터 수신된 상기 커맨드 전달 처리부 어드레스 및 제어신호에 따라 상기 커맨드 데이터를 상기 제2 프로세서로 출력하는 단계를 포함하는 것을 특징으로 하는 커맨드 전달 처리 방법이 제공된다.According to another aspect of the invention, a method for processing command transfer in a dual port memory coupled to a first processor via a first external bus interface and coupled to a second processor via a second external bus interface, comprising: (a) Receiving an address, a control signal, and command data for direct command transfer from the first processor, wherein the address is an address corresponding to a command transfer processor for direct command transfer; (b) decoding the address and control signal and writing the command data to the command transfer processor; (c) outputting an interrupt signal according to the writing of the command data to the second processor; And (d) outputting the command data to the second processor according to the command transfer processor address and the control signal received from the second processor receiving the interrupt signal. Is provided.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

이하, 본 발명의 바람직한 실시예를 첨부한 도면들을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면 번호에 상관없이 동일한 수단에 대해서는 동일한 참조 번호를 사용하기로 한다. Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, the same reference numerals will be used for the same means regardless of the reference numerals in order to facilitate the overall understanding.

도 4는 본 발명의 바람직한 일 실시예에 따른 듀얼 포트 메모리 시스템의 블록도이다. 4 is a block diagram of a dual port memory system according to an exemplary embodiment of the present invention.

도 4에 도시된 바와 같이, 본 발명에 따른 듀얼 포트 메모리 시스템은 제1 프로세서(400), 제1 외부 버스 인터페이스(402, External Bus Interface: EBI), 제2 프로세서(404), 제2 외부 버스 인터페이스(406) 및 듀얼 포트 메모리(408)를 포함할 수 있다. As shown in FIG. 4, the dual port memory system according to the present invention includes a first processor 400, a first external bus interface 402 (EBI), a second processor 404, and a second external bus. It may include an interface 406 and a dual port memory 408.

제1 및 제2 프로세서(400,404)는 명령을 해독하고 실행하는 단위로서, 제1 프로세서(400)는 핸드폰과 같은 휴대용 단말기에 사용되는 모뎀 프로세서가 될 수 있고, 제2 프로세서(404)는 휴대용 단말기에서 사용되는 비디오 프로세서, 멀티미디어 프로세서 등과 같은 응용프로그램을 수행하기 위한 응용 프로세서가 될 수 있다.The first and second processors 400 and 404 are units for decoding and executing instructions. The first processor 400 may be a modem processor used in a portable terminal such as a mobile phone, and the second processor 404 may be a portable terminal. It may be an application processor for performing an application such as a video processor, a multimedia processor used in the.

제1 외부 버스 인터페이스(402) 및 제2 외부 버스 인터페이스(406)는 일종의 메모리 컨트롤러(memory controller) 역할을 수행한다. 본 발명에 따른 듀얼 포트 메모리(408)는 SDRAM으로 구성될 수 있으며, 이에 따라 제1 및 제2 외부 버스 인터페이스(402,406)는 SDRAM(Synchronous DRAM)의 외부 버스 인터페이스가 사용될 수 있다. The first external bus interface 402 and the second external bus interface 406 serve as a kind of memory controller. The dual port memory 408 according to the present invention may be configured as an SDRAM. Accordingly, the first and second external bus interfaces 402 and 406 may use an external bus interface of a synchronous DRAM (SDRAM).

이하 본 발명의 일 실시예에서는 제1 외부 버스 인터페이스(402) 및 제2 외부 버스 인터페이스(406)는 SDRAM 외부 버스 인터페이스인 것으로 설명하나 반드시 이에 한정되는 것은 아니다.Hereinafter, in an embodiment of the present invention, the first external bus interface 402 and the second external bus interface 406 are described as SDRAM external bus interfaces, but are not necessarily limited thereto.

듀얼 포트 메모리(408)는 제1 포트(410)를 통해 제1 외부 버스 인터페이스(402)를 가지는 제1 프로세서(400)와 연결되고, 제2 포트(412)를 통해 제2 외부 버스 인터페이스(406)를 가지는 제2 프로세서(404)와 연결된다.The dual port memory 408 is connected to the first processor 400 having the first external bus interface 402 through the first port 410, and the second external bus interface 406 through the second port 412. Is connected to a second processor 404 having

도 4에 도시된 바와 같이, 본 발명에 따른 듀얼 포트 메모리(408)는 제1 메모리 인터페이스(414), 제2 메모리 인터페이스(416), 메모리 어레이(418), 세마포 처리부(420) 및 커맨드 전달 처리부(422)를 포함할 수 있다. As shown in FIG. 4, the dual port memory 408 according to the present invention includes a first memory interface 414, a second memory interface 416, a memory array 418, a semaphore processor 420, and a command transfer processor. 422 may be included.

제1 메모리 인터페이스(414)는 SDRAM 메모리 인터페이스로 구성될 수 있다. 제1 메모리 인터페이스(414)는 제1 포트(410)를 통하여 제1 프로세서(400)로부터 어드레스 제어신호(CTR1) 및 데이터(DQ1)를 입력 받고, 어드레스(ADD1)를 로우 어드레스와 컬럼 어드레스로 디코딩한 후 디코딩된 어드레스에 기초하여 소정의 동작 타이밍에 따라 데이터(DQ1)를 메모리 어레이(210)로부터 독출(read)하거나 메모리 어레이(210)에 기입(write)한다.The first memory interface 414 may be configured as an SDRAM memory interface. The first memory interface 414 receives the address control signal CTR1 and the data DQ1 from the first processor 400 through the first port 410, and decodes the address ADD1 into a row address and a column address. After that, the data DQ1 is read from the memory array 210 or written to the memory array 210 according to a predetermined operation timing based on the decoded address.

상기 기입 및 독출은 제1 프로세서(400)에서 제공하는 클럭 신호에 동기되어 이루어질 수 있다. The writing and reading may be performed in synchronization with a clock signal provided by the first processor 400.

이를 위해 제1 메모리 인터페이스(414)는 일반적인 SDRAM 인터페이스에서 사용되는 제어신호 디코더(미도시), 로우 디코더(Row decoder) (미도시), 컬럼 디코더(Column decoder)(미도시) 및 입출력 버퍼(미도시) 등을 포함할 수 있다.To this end, the first memory interface 414 may include a control signal decoder (not shown), a row decoder (not shown), a column decoder (not shown), and an input / output buffer (not shown) used in a general SDRAM interface. C) and the like.

제2 메모리 인터페이스(416)는 SDRAM 메모리 인터페이스로 구성될 수 있다. 제2 포트(412)를 통하여 제2 프로세서(404)로부터 어드레스(ADD2), 제어신호(CTR2) 및 데이터(DQ2)를 입력 받고, 어드레스(ADD2)를 로우 어드레스와 컬럼 어드레스로 디코딩한 후 동작 타이밍에 따라 데이터(DQ2)를 메모리 어레이(418)로부터 독출하거나 메모리 어레이(418)에 기입한다.The second memory interface 416 may be configured as an SDRAM memory interface. After receiving the address ADD2, the control signal CTR2 and the data DQ2 from the second processor 404 through the second port 412, decoding the address ADD2 into a row address and a column address, and then operating timing. As a result, data DQ2 is read from or written to memory array 418.

제2 메모리 인터페이스(416)는 수신된 어드레스 및 제어신호에 상응하는 제어신호 디코더(미도시), 로우 디코더(미도시), 컬럼 디코더(미도시) 및 입출력 버퍼(미도시) 등이 포함할 수 있다.The second memory interface 416 may include a control signal decoder (not shown), a row decoder (not shown), a column decoder (not shown), and an input / output buffer (not shown) corresponding to the received address and control signal. have.

메모리 어레이(418)는 DRAM의 단위 메모리 셀 구조를 가지고 제1 프로세서(400)가 전용하는 제1 메모리 영역(424), 각 프로세서가 공유하는 공유 메모리 영역(426) 및 제2 프로세서(404)가 전용하는 제2 메모리 영역(428)를 포함할 수 있다. 각 메모리 영역(424 내지 428) 각각은 소정 크기를 가지는 뱅크(bank) 단위로 형성될 수 있다. 또한 하나의 뱅크 내에서 소정 크기를 가지는 블록(block) 단위로 각각의 공유 메모리 영역이 구성될 수도 있다. The memory array 418 has a unit memory cell structure of DRAM and includes a first memory area 424 dedicated to the first processor 400, a shared memory area 426 and a second processor 404 shared by each processor. The second memory area 428 may be dedicated. Each of the memory areas 424 to 428 may be formed in a bank unit having a predetermined size. In addition, each shared memory area may be configured in units of blocks having a predetermined size in one bank.

도 4에서는 듀얼 포트 메모리 시스템에서는 하나의 공유 메모리 영역(426)이 존재하는 것으로 도시하였으나, 이에 한정되지 않으며, 더 많은 수의 공유 메모리 영역이 마련될 수도 있다는 점은 당업자에게 있어 자명할 것이다. 4 illustrates that one shared memory area 426 exists in the dual port memory system. However, the present invention is not limited thereto, and it will be apparent to those skilled in the art that a larger number of shared memory areas may be provided.

또한, 상기에서는 본 발명에 따른 듀얼 포트 메모리에 2개의 프로세서가 연결되는 것으로 설명하였으나, 이에 한정되지 않으며 그 이상의 프로세서가 연결되는 경우에도 본 발명에 적용될 수 있을 것이다. In addition, in the above description, two processors are connected to the dual port memory according to the present invention. However, the present invention is not limited thereto and may be applied to the present invention even when more processors are connected.

세마포 처리부(420)는 공유 메모리 영역(426)에 대한 상호 배타적 액세스를 제어한다. The semaphore processor 420 controls mutually exclusive access to the shared memory area 426.

세마포 처리부(420)는 각 프로세서에 대응하며, 권한 요청에 관한 데이터를 저장하는 세마포 요청 레지스터를 구비하고 있어 권한 획득을 위한 데이터(예를 들어, 논리값 '0)를 각 프로세서(400,404)에 상응하는 세마포 요청 레지스터에 저장한다. The semaphore processing unit 420 corresponds to each processor, and includes a semaphore request register that stores data related to an authorization request, so that the data for acquiring the authorization (for example, a logical value '0) corresponds to each processor 400 and 404. To the semaphore request register.

세마포 처리부(420)는 권한 획득을 위한 데이터가 세마포 요청 레지스터에 저장된 경우, 제1 프로세서가 요청한 공유 메모리 영역의 사용 여부에 관한 정보를 세마포 레지스터에 기입한다. When the data for acquiring the authority is stored in the semaphore request register, the semaphore processing unit 420 writes information on whether the shared memory area requested by the first processor is used in the semaphore register.

여기서, 공유 메모리 영역(426)에 액세스가 가능한 경우에는 세마포 레지스터에 논리값 '0'이 액세스가 불가능한 경우에는 논리값 '1'이 저장될 수 있다.Here, when the shared memory area 426 is accessible, the logic value '1' may be stored when the logic value '0' is not accessible in the semaphore register.

본 발명의 바람직한 일 실시예에 따르면, 개별 포트(410,412)에 연결되는 제1 프로세서(400) 및 제2 프로세서(404) 각각은 커맨드 전달 처리부(422)를 통해 세마포 처리부(420)로부터의 권한 획득 여부에 관계 없이 상대 프로세서에 커맨드를 전달할 수 있다. According to an exemplary embodiment of the present invention, each of the first processor 400 and the second processor 404 connected to the individual ports 410 and 412 obtains the authority from the semaphore processing unit 420 through the command transfer processing unit 422. Commands can be passed to the other processor, whether or not.

여기서 커맨드는 듀얼 포트 메모리(408)에 연결된 프로세서 중 하나가 공유 메모리 영역(426)에 액세스 하여 소정 작업을 실행하도록 하는 작업 실행 정보일 수 있다.The command may be task execution information for allowing one of the processors connected to the dual port memory 408 to access the shared memory area 426 to execute a predetermined task.

예를 들어, 제1 프로세서(400)가 메인 프로세서이고, 제2 프로세서(404)가 멀티미디어 프로세서인 경우, 제1 프로세서(400)가 제2 프로세서(404)로 전달하는 커맨드는 사용자의 요청 또는 미리 설정된 알고리즘에 따른 '음원 재생 실행 정보' 일 수 있다. For example, when the first processor 400 is the main processor and the second processor 404 is the multimedia processor, the command transmitted by the first processor 400 to the second processor 404 may be requested by a user or in advance. It may be 'sound source reproduction execution information' according to the set algorithm.

본 발명에 따르면, 제1 또는 제2 프로세서(400,404)가 상대 프로세서로 소정의 커맨드를 전달하는 경우, 커맨드를 전달하고자 하는 프로세서는 커맨드 직접 전달을 위한 어드레스(ADD1,ADD2), 제어신호(CTR1,CTR2) 및 커맨드 데이터(DQ1,DQ2)를 출력한다. According to the present invention, when the first or second processor 400 or 404 transmits a predetermined command to the counterpart processor, the processor to which the command is to be delivered includes the addresses ADD1 and ADD2 for direct command transfer, and the control signals CTR1, CTR2) and command data DQ1 and DQ2 are output.

도 4에서 전달될 커맨드는 각각 제1 커맨드(Command1) 및 제2 커맨드(Command2)로 표시하며, 제1 커맨드는 제1 프로세서의 데이터 전달 라인에 해당하는 제1 데이터 버스, 제2 커맨드는 제2 프로세서의 데이터 전달 라인에 해당하는 제2 데이터 버스를 통해 상대 프로세서로 전달될 수 있다. In FIG. 4, the command to be transmitted is represented by a first command Command1 and a second command Command2, respectively, where the first command corresponds to a first data bus corresponding to a data transfer line of the first processor, and the second command corresponds to a second command. The data may be transferred to the counterpart processor through a second data bus corresponding to the data transfer line of the processor.

이때, 각 프로세서가 전달하는 커맨드는 커맨드 전달 처리부의 미리 설정된 레지스터에 저장될 수 있다. In this case, the command delivered by each processor may be stored in a preset register of the command transfer processor.

여기서 커맨드 직접 전달을 위한 어드레스는 커맨드 전달 처리부(422)의 어드레스(미리 설정된 레지스터에 상응하는 어드레스)이다. 일반적으로 공유 메모리 영역(426) 최상위 로우 어드레스가 세마포 처리부(420)의 어드레스로 할당된다는 점에서 커맨드 전달 처리부(422)의 어드레스는 공유 메모리 영역(426)에 대한 상위 로우 어드레스(예를 들어, 최상위 로우 어드레스의 다음 비트)로 할당될 수 있다.. The address for direct command transfer is an address (address corresponding to a preset register) of the command transfer processor 422. In general, since the highest row address of the shared memory area 426 is assigned to the address of the semaphore processing unit 420, the address of the command transfer processing unit 422 is an upper row address (for example, the highest level) for the shared memory area 426. (The next bit of the row address).

그러나 반드시 이에 한정되지 않으며 듀얼 포트 메모리(408)가 구분할 수 있다면 커맨드 전달 처리부(422)의 어드레스는 다양하게 할당될 수 있을 것이다. However, the present invention is not limited thereto, and if the dual port memory 408 is distinguishable, the address of the command transfer processor 422 may be variously assigned.

한편, 커맨드 직접 전달을 위한 제어신호는 커맨드 전달 처리부(422)를 활성화하고 출력된 커맨드 데이터(Command1,CMD)를 커맨드 전달 처리부(422)에 기입하기 위한 제어신호(예를 들어, 쓰기 제어 신호, /WE)일 수 있다. The control signal for direct command transfer may include a control signal (eg, a write control signal, for activating the command transfer processor 422 and writing the output command data Command1 and CMD to the command transfer processor 422). / WE).

예를 들어, 제1 프로세서(400)가 제2 프로세서(404)로 소정 커맨드(제1 커맨드)를 전달하는 경우, 제1 메모리 인터페이스(414)는 수신된 어드레스 및 제어신호를 디코딩한 후에 커맨드 전달 처리부(422)에 인에이블 신호를 출력하여 수신된 제1 커맨드가 커맨드 전달 처리부(422)에 기입되도록 한다. For example, when the first processor 400 transmits a predetermined command (first command) to the second processor 404, the first memory interface 414 decodes the received address and control signal and then delivers the command. The enable signal is output to the processor 422 so that the received first command is written to the command transfer processor 422.

이때, 제1 메모리 인터페이스(414)는 디코딩된 어드레스가 커맨드 전달 처리부(422)의 어드레스이므로 세마포 처리부(420)에 의한 권한 획득 과정이 이루어지지 않도록 한다. At this time, since the decoded address is the address of the command transfer processor 422, the first memory interface 414 may prevent the semaphore processor 420 from acquiring the authority.

한편, 커맨드 전달 처리부(422)에 제1 커맨드를 기입하기 위한 인에이블 신호가 수신되는 경우, 커맨드 전달 처리부(422)는 인터럽트 신호(제1 인터럽트 신호)를 출력할 수 있다.On the other hand, when the enable signal for writing the first command is received in the command transfer processor 422, the command transfer processor 422 may output an interrupt signal (first interrupt signal).

제2 프로세서(404)는 제1 인터럽트 신호가 수신되는 경우, 제1 프로세서(400)로부터 커맨드 전달이 있음을 인지하고, 제2 외부 버스 인터페이스(406)를 통해 커맨드 전달 처리부(422)의 어드레스 및 제1 커맨드 독출을 위한 제어신호를 출력한다. When the first interrupt signal is received, the second processor 404 recognizes that there is a command transfer from the first processor 400, and the address of the command transfer processor 422 through the second external bus interface 406. The control signal for reading the first command is output.

이에 따라 제2 프로세서(404)는 커맨드 전달 처리부(422)로부터 제1 커맨드 를 독출하여 제1 커맨드에 상응하는 작업을 실행하게 된다. Accordingly, the second processor 404 reads the first command from the command transfer processor 422 and executes a job corresponding to the first command.

이와 같은 과정은 제2 프로세서(404)에서 제1 프로세서(400)로 커맨드를 전달하는 경우에도 동일하게 적용될 수 있다. The same process may be applied to the case where the command is transmitted from the second processor 404 to the first processor 400.

본 발명에 따르면, 제1 프로세서(400) 및 제2 프로세서(404) 사이에 커맨드를 전달하는 동안 각 프로세서(400,404)가 듀얼 포트 메모리(408)로부터 권한을 획득하지 않아도 되므로 커맨드 전달을 효율적으로 수행할 수 있도록 한다. According to the present invention, command transfer is efficiently performed since each processor 400, 404 does not need to acquire authority from the dual port memory 408 while transferring commands between the first processor 400 and the second processor 404. Do it.

하기에서는 도 5를 참조하여 본 발명에 따른 커맨드 전달 처리부(422)에 대해 상세하게 살펴본다. Hereinafter, the command delivery processor 422 according to the present invention will be described in detail with reference to FIG. 5.

도 5는 본 발명의 바람직한 일 실시예에 따른 커맨드 전달 처리부의 상세 구성을 도시한 블록도이다. 5 is a block diagram showing a detailed configuration of a command delivery processing unit according to an embodiment of the present invention.

도 5에 도시된 바와 같이, 본 발명에 따른 커맨드 전달 처리부는 제1 커맨드 레지스터(500), 제2 커맨드 레지스터(502), 제1 버퍼(504), 제2 버퍼(506), 제3 버퍼(508) 및 제4 버퍼(510)를 포함할 수 있다. As shown in FIG. 5, the command transfer processing unit according to the present invention includes a first command register 500, a second command register 502, a first buffer 504, a second buffer 506, and a third buffer ( 508 and a fourth buffer 510.

제1 커맨드 레지스터(500)에는 제1 프로세서(400)에서 출력한 제1 커맨드가 기입된다. The first command output from the first processor 400 is written in the first command register 500.

제1 메모리 인터페이스(414)가 수신하는 제어신호(CTR1)에 의해 제1 커맨드 레지스터(500)에 인에이블 신호가 입력되며, 이를 통해 제1 커맨드가 제1 커맨드 레지스터(500)에 기입된다. The enable signal is input to the first command register 500 by the control signal CTR1 received by the first memory interface 414, whereby the first command is written to the first command register 500.

한편, 인에이블 신호에 따라 제1 인터럽트 신호(Interrup1)가 생성되어 제2 프로세서(404)측으로 출력될 수 있다. Meanwhile, the first interrupt signal Interrup1 may be generated according to the enable signal and output to the second processor 404.

제1 커맨드 레지스터(500)에 기입된 제1 커맨드는 제2 프로세서(404)에 대응하는 제1 버퍼(504)에 임시 저장된다. The first command written in the first command register 500 is temporarily stored in the first buffer 504 corresponding to the second processor 404.

제2 프로세서(404)는 제1 커맨드 레지스터(500)에 제1 커맨드가 기입되는 경우에 제1 인터럽트 신호를 수신하며, 제1 인터럽트 신호에 따라 커맨드 전달 처리부(422)의 어드레스 및 제어신호를 생성하여 제1 버퍼(504)에 임시 저장된 제1 커맨드를 독출할 수 있다. The second processor 404 receives the first interrupt signal when the first command is written in the first command register 500, and generates an address and a control signal of the command transfer processor 422 according to the first interrupt signal. The first command temporarily stored in the first buffer 504 may be read.

제2 커맨드 레지스터(502)에는 제2 프로세서(404)에서 출력한 제2 커맨드가 기입된다. The second command output from the second processor 404 is written in the second command register 502.

상기한 바와 같이, 제2 커맨드의 저장은 인에이블 신호에 따라 이루어질 수 있으며, 제2 커맨드가 제2 커맨드 레지스터(502)에 기입되는 경우 제1 프로세서(400)측으로 커맨드 전달에 따른 제2 인터럽트 신호(Interrupt2)가 출력된다. As described above, the storing of the second command may be performed according to the enable signal, and when the second command is written in the second command register 502, the second interrupt signal according to the command transfer to the first processor 400 side. (Interrupt2) is output.

제2 커맨드는 제1 프로세서(400)에 대응하는 제2 버퍼(506)에 임시 저장된다. 제1 프로세서(400)는 상기한 제2 인터럽트 신호를 통해 제2 버퍼(506)에 임시 저장된 데이터를 독출할 수 있다. The second command is temporarily stored in the second buffer 506 corresponding to the first processor 400. The first processor 400 may read data temporarily stored in the second buffer 506 through the second interrupt signal.

제2 커맨드가 독출된 후에 제1 프로세서(400)는 독출된 제2 커맨드의 실행을 위해, 듀얼 포트 메모리(408)로부터 액세스 권한을 요청하며, 액세스 권한이 획득된 경우에 어드레스 및 제어신호를 듀얼 포트 메모리(408)로 출력하게 된다. After the second command is read, the first processor 400 requests an access right from the dual port memory 408 to execute the read second command, and when the access right is obtained, the first processor 400 dualizes the address and the control signal. Output to the port memory 408.

한편, 제2 프로세서(404)는 제1 버퍼(504)에 임시 저장된 제1 커맨드를 독출한 후에 상기한 제1 프로세서(400)와 동일한 과정을 수행한다. Meanwhile, the second processor 404 performs the same process as the first processor 400 after reading the first command temporarily stored in the first buffer 504.

본 발명에 따르면, 제1 프로세서(400)의 제1 커맨드, 제2 프로세서(404)의 제2 커맨드를 상대 프로세서에 전달함에 있어 듀얼 포트 메모리(408)로부터 권한 획득이 필요없기 때문에 커맨드 전달을 신속하게 수행할 수 있다. According to the present invention, in order to transfer the first command of the first processor 400 and the second command of the second processor 404 to the counterpart processor, it is not necessary to acquire the authority from the dual port memory 408, thereby speeding up the command transfer. Can be done.

한편, 본 발명의 바람직한 일 실시예에 따르면, 커맨드 전달 처리부(422)는 제1 커맨드 레지스터(500)에 연결되는 제3 버퍼(508) 및 제2 커맨드 레지스터(502)에 연결되는 제4 버퍼(510)를 포함할 수 있다. Meanwhile, according to an exemplary embodiment of the present invention, the command transfer processor 422 may include a third buffer 508 connected to the first command register 500 and a fourth buffer connected to the second command register 502. 510.

인에이블 신호에 의해 제1 커맨드 레지스터(500)에 제1 커맨드가 기입되는 경우, 제1 커맨드는 제3 버퍼(508)에 임시 저장된다. When the first command is written to the first command register 500 by the enable signal, the first command is temporarily stored in the third buffer 508.

제1 프로세서(400)는 상기한 제1 인터럽트 신호가 수신되는 경우, 제3 버퍼(508)로부터 제1 커맨드를 독출하게 된다. When the first interrupt signal is received, the first processor 400 reads the first command from the third buffer 508.

한편, 인에이블 신호에 의해 제2 커맨드 레지스터(502)에 제2 커맨드가 기입되는 경우, 제2 커맨드는 제4 버퍼(510)에 임시 저장된다. On the other hand, when the second command is written in the second command register 502 by the enable signal, the second command is temporarily stored in the fourth buffer 510.

제2 프로세서(404)는 상기한 제2 인터럽트 신호가 수신되는 경우, 제4 버퍼(510)로부터 제2 커맨드를 독출하게 된다. When the second interrupt signal is received, the second processor 404 reads the second command from the fourth buffer 510.

듀얼 포트 메모리(408)에 연결된 프로세서 중 하나가 복수의 태스크가 실행되는 멀티 태스크 환경에서 소정 작업을 실행하는 경우, 각 태스크에서 처리되는 작업을 확인해야 할 필요가 있다.When one of the processors connected to the dual port memory 408 executes a predetermined task in a multi-task environment in which a plurality of tasks are executed, it is necessary to check the tasks processed in each task.

이는 제1 태스크가 제2 프로세서(404)로 소정의 커맨드를 전달하고, 이에 따라 공유 메모리 영역에 커맨드에 상응하는 데이터가 기입 또는 독출되었는데, 제2 태스크가 제1 태스크의 커맨드 전달을 인지하지 못하는 경우 제2 태스크가 동일한 공유 메모리 영역에 동일한 작업을 수행함으로써 오류가 발생할 수 있기 때문이다. This means that the first task transfers a predetermined command to the second processor 404, and thus data corresponding to the command is written or read in the shared memory area, and the second task does not recognize the command transfer of the first task. This is because an error may occur when the second task performs the same operation on the same shared memory area.

본 발명에 따르면, 커맨드 전달 처리부(422)가 상대 프로세서의 커맨드뿐만 아니라 자신의 커맨드까지 다시 전달하기 때문에 각 프로세서(400,404)의 작업 오류를 방지할 수 있다. According to the present invention, since the command transfer processing unit 422 transfers not only the command of the counterpart processor but also its own command, it is possible to prevent an operation error of each of the processors 400 and 404.

도 6은 본 발명에 따른 프로세서의 커맨드 전달 과정을 도시한 순서도이다. 6 is a flowchart illustrating a command transfer process of a processor according to the present invention.

도 6은 제1 프로세서(400)가 제2 프로세서(404)로 커맨드를 전달하고, 제2 프로세서(404)로부터 커맨드를 수신하여 소정 작업을 실행하는 과정을 도시한 것이다. FIG. 6 illustrates a process in which the first processor 400 transmits a command to the second processor 404, receives a command from the second processor 404, and executes a predetermined task.

도 6을 참조하면, 제1 프로세서에 이벤트가 발생하는 경우(단계 600), 해당 이벤트에 상응하는 커맨드(제1 커맨드)가 제2 프로세서(404)로 전달해야 하는 커맨드인지 여부를 판단한다. Referring to FIG. 6, when an event occurs in the first processor (step 600), it is determined whether a command (first command) corresponding to the event is a command to be transmitted to the second processor 404.

여기서, 이벤트는 사용자의 요청 또는 미리 설정된 알고리즘에 따른 특정 작업 실행을 위한 이벤트일 수 있으며, 예를 들어, 음원 재생 요청 신호일 수 있다. 또한, 이벤트에 상응하는 커맨드는 해당 작업 실행 정보로서, 예를 들어, 음원 재생을 위한 음원 재생 작업 정보일 수 있다. Here, the event may be an event for executing a specific task according to a user's request or a preset algorithm, and may be, for example, a sound source reproduction request signal. In addition, the command corresponding to the event may be corresponding task execution information, for example, sound source reproduction task information for sound source reproduction.

제1 프로세서(400)는 제1 커맨드가 제2 프로세서(404)로 전달해야 하는 커맨드인지 여부를 판단한다(단계 602). The first processor 400 determines whether the first command is a command to be transmitted to the second processor 404 (step 602).

제2 프로세서(404)로 전달해야 하는 커맨드인 경우, 제1 프로세서(400)는 커맨드 전달 처리부의 어드레스를 추출하고(단계 604), 제1 커맨드 전달을 위한 어드레스, 제어신호 및 데이터를 출력한다(단계 606).In the case of a command to be delivered to the second processor 404, the first processor 400 extracts an address of the command delivery processor (step 604) and outputs an address, a control signal, and data for the first command delivery (step 604). Step 606).

상기한 바와 같이, 어드레스는 커맨드 전달 처리부(422)의 어드레스이며, 제 어신호는 커맨드 전달 처리부(422)에 제1 커맨드를 기입하기 위한 신호이며, 데이터는 제1 커맨드일 수 있다.As described above, the address may be an address of the command transfer processor 422, the control signal may be a signal for writing a first command to the command transfer processor 422, and the data may be a first command.

단계 606에서 생성된 어드레스 및 제어신호를 통해 제1 커맨드가 제2 프로세서(404)로 직접 전달될 수 있다. The first command may be directly transmitted to the second processor 404 through the address and control signal generated in operation 606.

한편, 제1 프로세서(400)가 제2 프로세서(404)로부터 제2 커맨드 전달에 따른 인터럽트 신호를 수신하는 경우(단계 608), 제1 프로세서(400)는 이전 작업을 중지하고(단계 610), 제2 커맨드에 상응하는 작업을 실행하게 된다(단계 612). On the other hand, when the first processor 400 receives the interrupt signal according to the transfer of the second command from the second processor 404 (step 608), the first processor 400 stops the previous operation (step 610), The task corresponding to the second command is executed (step 612).

도 7은 본 발명에 따른 커맨드 전달 처리부의 커맨드 전달 및 프로세서의 커맨드 실행 과정의 순서도로서, 제1 프로세서(400)가 제1 커맨드를 전달하는 과정을 도시한 것이다.7 is a flowchart illustrating a command delivery process and a command execution process of a processor in the command transfer processing unit according to the present invention, and illustrates a process in which the first processor 400 delivers a first command.

도 7을 참조하면, 제1 프로세서(400)가 제1 커맨드 전달을 위한 어드레스, 제어신호 및 데이터를 출력하는 경우, 커맨드 전달 처리부(422)는 제1 메모리 인터페이스(414)로부터 인에이블 신호를 수신한다(단계 700). Referring to FIG. 7, when the first processor 400 outputs an address, a control signal, and data for delivering a first command, the command transfer processor 422 receives an enable signal from the first memory interface 414. (Step 700).

인에이블 신호 수신 시 커맨드 전달 처리부(422)는 제2 프로세서(404) 측으로 인터럽트 신호를 출력한다(단계 702).Upon receiving the enable signal, the command transfer processor 422 outputs an interrupt signal to the second processor 404 (step 702).

한편, 상기한 인에이블 신호에 따라 제1 커맨드 레지스터(500)에는 제1 커맨드가 기입된다(단계 704). On the other hand, the first command is written to the first command register 500 in accordance with the above enable signal (step 704).

본 발명에 따르면, 제1 커맨드 레지스터(500)에 기입된 제1 커맨드는 제2 프로세서(404)에 대응하는 제2 버퍼(506)에 임시 저장되며(단계 706), 이와 동시에 제1 프로세서(400)에 대응하는 제3 버퍼(508)에 입력된다(단계 708).According to the present invention, the first command written in the first command register 500 is temporarily stored in the second buffer 506 corresponding to the second processor 404 (step 706), and at the same time the first processor 400 Is entered into a third buffer 508 (step 708).

한편, 단계 710 내지 단계 716은 제2 프로세서(404)에서 수행되는 과정으로서, 제2 프로세서(404)는 상기한 인터럽트 신호를 수신하는 경우, 제2 버퍼(504)에 입력된 제1 커맨드를 독출하기 위한 어드레스 및 제어신호를 출력한다(단계 710). Meanwhile, steps 710 to 716 are processes performed by the second processor 404. When the second processor 404 receives the interrupt signal, the second processor 404 reads the first command input to the second buffer 504. An address and a control signal for outputting are output (step 710).

여기서 제1 커맨드 독출을 위한 어드레스는 커맨드 전달 처리부(422)의 어드레스일 수 있으며, 제어신호는 제2 버퍼(504)에 입력된 제1 커맨드를 독출하기 위한 제어신호이다. The address for reading the first command may be an address of the command transfer processor 422, and the control signal is a control signal for reading the first command input to the second buffer 504.

제1 커맨드를 수신하는 경우, 제2 프로세서(404)는 제1 커맨드 실행을 위해 듀얼 포트 메모리(408) 측으로 권한 획득을 위한 어드레스, 제어신호 및 데이터를 출력한다(단계 712).Upon receiving the first command, the second processor 404 outputs an address, a control signal, and data for permission acquisition to the dual port memory 408 to execute the first command (step 712).

여기서 어드레스는 공유 메모리 영역 액세스를 위한 세마포 처리부(420)에 상응하는 어드레스이며, 제어신호는 세마포 처리부(420)의 세마포 요청 레지스터에 권한 획득을 위한 데이터를 기입 또는 독출하기 위한 신호에 해당한다. The address is an address corresponding to the semaphore processing unit 420 for accessing the shared memory area, and the control signal corresponds to a signal for writing or reading data for authority acquisition in the semaphore request register of the semaphore processing unit 420.

제2 프로세서(404)는 세마포 처리부(420)의 세마포 레지스터로부터 독출된 정보를 통해 권한이 획득되었는지 여부를 판단하며(단계 714), 권한이 획득되는 경우 공유 메모리 영역에 액세스하여 제1 커맨드를 실행하게 된다(단계 716)The second processor 404 determines whether the right is acquired through the information read from the semaphore register of the semaphore processing unit 420 (step 714), and if the right is obtained, accesses the shared memory area and executes the first command. (Step 716)

상기한 본 발명의 바람직한 실시예는 예시의 목적을 위해 개시된 것이고, 본 발명에 대해 통상의 지식을 가진 당업자라면 본 발명의 사상과 범위 안에서 다양한 수정, 변경, 부가가 가능할 것이며, 이러한 수정, 변경 및 부가는 하기의 특허청구범위에 속하는 것으로 보아야 할 것이다. Preferred embodiments of the present invention described above are disclosed for purposes of illustration, and those skilled in the art will be able to make various modifications, changes, and additions within the spirit and scope of the present invention. Additions should be considered to be within the scope of the following claims.

이상에서 설명한 바와 같이, 본 발명에 따르면 듀얼 포트 메모리에 연결되는 프로세서 사이에 권한 획득 없이 커맨드를 전달할 수 있어 프로세서의 듀얼 포트 메모리 점유 시간을 감소시킬 수 있는 장점이 있다. As described above, according to the present invention, a command can be transferred between processors connected to the dual port memory without obtaining a privilege, thereby reducing the dual port memory occupancy time of the processor.

또한 본 발명에 따르면, 각 프로세서가 상대 프로세서에 전달한 커맨드를 다시 확인함으로써 작업 실행의 오류를 방지할 수 있는 장점이 있다.In addition, according to the present invention, there is an advantage that can prevent the error of the job execution by re-checking the command transmitted to each processor by the processor.

Claims (18)

공유 메모리 영역을 가지는 메모리 어레이;A memory array having a shared memory area; 제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 대해 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스;A first memory interface configured to perform a write or read operation on the shared memory area based on an address and a control signal provided through a first port from a first processor; 제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스;A second memory interface configured to perform a write or read operation on the shared memory area based on an address and a control signal provided from a second processor through a second port; 상기 제1 프로세서 및 제2 프로세서의 상기 공유 메모리 영역에 대한 액세스 권한을 제어하는 세마포 처리부; 및A semaphore processor configured to control access rights to the shared memory areas of the first processor and the second processor; And 상기 제1 프로세서 또는 제2 프로세서에서 전달하는 커맨드가 기입되는 하나 이상의 커맨드 레지스터와 상기 커맨드를 상대 프로세서가 독출할 수 있도록 임시 저장하는 버퍼를 포함하여 구성되며, 프로세서간 커맨드를 전달하기 위한 커맨드 전달 처리부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.And one or more command registers to which the commands transmitted from the first processor or the second processor are written, and a buffer for temporarily storing the commands so that the corresponding processors can read the command processor. Dual port memory, characterized in that it comprises a. 제1항에 있어서,The method of claim 1, 상기 커맨드 전달 처리부는 상기 제1 프로세서 및 상기 제2 프로세서 중 어느 하나 프로세서의 제1 데이터 버스를 통해 전달한 커맨드를 상기 상대 프로세서의 제2 데이터 버스를 통해 직접 전달하는 것을 특징으로 하는 듀얼 포트 메모리.And the command transfer processor directly transfers a command transmitted through a first data bus of one of the first processor and the second processor through a second data bus of the counterpart processor. 제1항에 있어서, The method of claim 1, 상기 커맨드는 상기 상대 프로세서가 상기 공유 메모리 영역에 액세스하여 소정 작업을 실행하도록 하는 작업 실행 정보인 것을 특징으로 하는 듀얼 포트 메모리. And the command is job execution information for causing the counterpart processor to access the shared memory area to execute a predetermined job. 제1항에 있어서, The method of claim 1, 상기 커맨드 전달 처리부의 어드레스는 상기 공유 메모리 영역에 대한 상위 로우 어드레스로 할당되는 것을 특징으로 하는 것을 특징으로 하는 듀얼 포트 메모리.And the address of the command transfer processing unit is allocated to an upper row address for the shared memory area. 삭제delete 제1항에 있어서, The method of claim 1, 상기 커맨드 레지스터는 상기 제1 프로세서에서 출력하는 커맨드가 기입되는 제1 커맨드 레지스터; 및 The command register may include a first command register to which a command output from the first processor is written; And 상기 제2 프로세서에서 출력하는 커맨드가 기입되는 제2 커맨드 레지스터를 포함하는 것을 특징으로 하는 듀얼 포트 메모리.And a second command register to which a command output from the second processor is written. 제1항에 있어서, The method of claim 1, 상기 커맨드는 상기 프로세서에 상응하는 제1 또는 제2 메모리 인터페이스의 어느 하나로부터 출력되는 인에이블 신호에 상응하여 상기 커맨드 레지스터에 기입되는 것을 특징으로 하는 듀얼 포트 메모리.And the command is written to the command register in response to an enable signal output from either the first or second memory interface corresponding to the processor. 제7항에 있어서, The method of claim 7, wherein 상기 커맨드 전달 처리부는 상기 인에이블 신호가 수신되는 경우에 상기 상대 프로세서 측으로 인터럽트 신호를 출력하는 것을 특징으로 하는 듀얼 포트 메모리.And the command transfer processor outputs an interrupt signal to the counter processor when the enable signal is received. 제8항에 있어서, The method of claim 8, 상기 상대 프로세서는 상기 인터럽트 신호가 수신되는 경우에 상기 커맨드 전달 처리부에 저장된 커맨드를 독출하는 것을 특징으로 듀얼 포트 메모리.And the counter processor reads a command stored in the command transfer processor when the interrupt signal is received. 제1항에 있어서, The method of claim 1, 상기 커맨드 전달 처리부는,The command delivery processing unit, 상기 프로세서가 상기 상대 프로세서에 전달한 커맨드를 독출할 수 있도록 상기 커맨드를 임시 저장하는 버퍼를 더 포함하는 것을 특징으로 하는 듀얼 포트 메모리.And a buffer for temporarily storing the command so that the processor can read the command transmitted to the counterpart processor. 제1항에 있어서,The method of claim 1, 상기 커맨드를 전달하는 프로세서는 이벤트 발생 시 상기 이벤트 발생에 상응하는 커맨드가 상기 상대 프로세서에 전달해야 하는 커맨드인지 여부를 판단하는 것을 특징으로 하는 듀얼 포트 메모리.The processor that delivers the command determines whether a command corresponding to the event generation is a command to be transmitted to the counterpart processor when an event occurs. 제11항에 있어서,The method of claim 11, 상기 커맨드를 전달하는 프로세서는 상응하는 제1 또는 제2 메모리 인터페이스로 상기 커맨드 전달 처리부의 어드레스 및 상기 커맨드 전달 처리부에 상기 커맨드를 기입하기 위한 제어신호를 출력하는 것을 특징으로 하는 듀얼 포트 메모리.And the processor for transmitting the command outputs an address of the command transfer processing unit and a control signal for writing the command to the command transfer processing unit to a corresponding first or second memory interface. 삭제delete 제1 프로세서;A first processor; 제2 프로세서; 및A second processor; And 공유 메모리 영역을 가지는 메모리 어레이와, 제1 프로세서로부터 제1 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 대해 기입 또는 독출 동작을 수행하는 제1 메모리 인터페이스와, 제2 프로세서로부터 제2 포트를 통해 제공된 어드레스 및 제어신호에 기초하여 상기 공유 메모리 영역에 기입 또는 독출 동작을 수행하는 제2 메모리 인터페이스와, 상기 제1 프로세서 및 제2 프로세서의 상기 공유 메모리 영역에 대한 액세스 권한을 제어하는 세마포 처리부와, 상기 제1 프로세서 또는 제2 프로세서에서 전달하는 커맨드가 기입되는 하나 이상의 커맨드 레지스터와 상기 커맨드를 상대 프로세서가 독출할 수 있도록 임시 저장하는 버퍼를 포함하여 구성되며, 프로세서간 커맨드를 전달하기 위한 커맨드 전달 처리부를 포함하는 것을 특징으로 하는 듀얼 포트 메모리 시스템.A memory array having a shared memory area, a first memory interface configured to perform a write or read operation on the shared memory area based on an address and a control signal provided through a first port from a first processor, and a second memory from a second processor; A second memory interface configured to perform a write or read operation to the shared memory area based on an address and a control signal provided through a second port, and to control access rights of the first processor and the second processor to the shared memory area; And a semaphore processing unit, one or more command registers to which the commands transmitted from the first processor or the second processor are written, and a buffer for temporarily storing the commands so that the corresponding processors can read them. Include command delivery processing for Dual-port memory system, characterized in that the. 듀얼 포트 메모리에서 제1 프로세서 및 제2 프로세서간에 커맨드 전달을 처리하는 방법에 있어서, A method for processing command transfer between a first processor and a second processor in a dual port memory, the method comprising: (a) 상기 제1 프로세서로부터 커맨드 직접 전달을 위한 제1 제어신호 및 커맨드 데이터를 수신하는 단계;(a) receiving a first control signal and command data for direct command transfer from the first processor; (b) 상기 제1 제어신호를 디코딩하여 상기 커맨드 데이터를 상기 듀얼 포트 메모리내의 미리 설정된 레지스터에 기입하는 단계; (b) decoding the first control signal and writing the command data to a preset register in the dual port memory; (c) 상기 커맨드 데이터의 기입에 따른 인터럽트 신호를 상기 제2 프로세서로 출력하는 단계;(c) outputting an interrupt signal according to the writing of the command data to the second processor; (d) 상기 미리 설정된 레지스터에 저장된 커맨드를 상기 제2 프로세서에 대응하는 버퍼에 임시 저장하는 단계; 및(d) temporarily storing a command stored in the preset register in a buffer corresponding to the second processor; And (e) 상기 인터럽트 신호를 수신한 제2 프로세서의 제2 제어신호에 따라 상기 커맨드 데이터를 상기 제2 프로세서로 전달하는 단계를 포함하는 것을 특징으로 하는 커맨드 전달 처리 방법.and (e) transferring the command data to the second processor in accordance with a second control signal of the second processor receiving the interrupt signal. 제15항에 있어서,The method of claim 15, 상기 (a) 단계는 상기 제1 프로세서로부터 상기 미리 설정된 레지스터에 상응하는 어드레스를 수신하는 것을 특징으로 하는 커맨드 전달 처리 방법. And the step (a) receives an address corresponding to the preset register from the first processor. 삭제delete 제15항에 있어서,The method of claim 15, 상기 미리 설정된 레지스터에 저장된 커맨드를 상기 제1 프로세서에 대응하는 버퍼에 임시 저장하는 단계; 및Temporarily storing a command stored in the preset register in a buffer corresponding to the first processor; And 제1 프로세서의 제3 제어신호에 따라 상기 커맨드 데이터를 상기 제1 프로세서로 전달하는 단계를 더 포함하는 것을 특징으로 하는 커맨드 전달 처리 방법.And transmitting the command data to the first processor according to a third control signal of the first processor.
KR1020070011144A 2007-02-02 2007-02-02 Dual port memory for direct transfer of commands between processors and method for performing them KR100874169B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020070011144A KR100874169B1 (en) 2007-02-02 2007-02-02 Dual port memory for direct transfer of commands between processors and method for performing them

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020070011144A KR100874169B1 (en) 2007-02-02 2007-02-02 Dual port memory for direct transfer of commands between processors and method for performing them

Publications (2)

Publication Number Publication Date
KR20080072412A KR20080072412A (en) 2008-08-06
KR100874169B1 true KR100874169B1 (en) 2008-12-15

Family

ID=39882748

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020070011144A KR100874169B1 (en) 2007-02-02 2007-02-02 Dual port memory for direct transfer of commands between processors and method for performing them

Country Status (1)

Country Link
KR (1) KR100874169B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101110550B1 (en) * 2009-04-08 2012-02-08 한양대학교 산학협력단 Processor, Multi-processor System And Method For Controlling Access Authority For Shared Memory In Multi-processor System
KR101137297B1 (en) * 2010-04-09 2012-04-19 삼성전자주식회사 Mobile storage control method
US8918594B2 (en) * 2010-11-16 2014-12-23 Micron Technology, Inc. Multi-interface memory with access control

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040268088A1 (en) 2003-06-30 2004-12-30 Lippincott Louis A. Controlling memory access devices in a data driven architecture mesh array
JP2006350622A (en) 2005-06-15 2006-12-28 Seiko Epson Corp Multiprocessor system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040268088A1 (en) 2003-06-30 2004-12-30 Lippincott Louis A. Controlling memory access devices in a data driven architecture mesh array
JP2006350622A (en) 2005-06-15 2006-12-28 Seiko Epson Corp Multiprocessor system

Also Published As

Publication number Publication date
KR20080072412A (en) 2008-08-06

Similar Documents

Publication Publication Date Title
JP2003076654A (en) Data transfer system between memories of dsps
US20080189479A1 (en) Device, system and method for controlling memory operations
JP4560498B2 (en) Arbitration scheme for shared memory devices
KR100874169B1 (en) Dual port memory for direct transfer of commands between processors and method for performing them
KR101103619B1 (en) Multi-port memory system and access control method thereof
KR101110550B1 (en) Processor, Multi-processor System And Method For Controlling Access Authority For Shared Memory In Multi-processor System
US5537609A (en) Mini cache operational module for enhancement to general cache
KR100886179B1 (en) Method for Handling Access Right Acquisition in Dual Port Memory and Apparatus therefore
KR100877972B1 (en) Dual Port Memory for directly transferring data between processors and Method thereof
KR20080046065A (en) Dual port memory having access control device for shared memory, multi-processor system having access control device for shared memory and method for controlling access for shared memory
KR100872196B1 (en) Memory system and method of controlling access of dual port memory using the memory system
US20140250285A1 (en) Inter-domain memory copy method and apparatus
KR100863541B1 (en) Synchronization Control Device, Dual Port Memory Having Synchornization Control Device and Method for Controlling Synchonization in Dual Port Memory
CN115033520A (en) IIC data transmission method and device, single chip microcomputer equipment and storage medium
US20050135402A1 (en) Data transfer apparatus
KR20040045446A (en) Interfacing processors with external memory supporting burst mode
CN107025190B (en) System and method of operation thereof
KR100816038B1 (en) Method for accessing shared memory in multi-processor system
KR100827720B1 (en) Dual Port Memory having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory
US20040034748A1 (en) Memory device containing arbiter performing arbitration for bus access right
KR100879567B1 (en) Dual Port Memory for directly transferring data between processors using first-in first-out and memory system thereof
KR100813133B1 (en) Dual port memory apparatus, memory system and method for adaptive using shared memory area of dual port memory apparatus
KR100816009B1 (en) Method for accessing shared memory in dual port memory system, and recorded medium for performing method for accessing shared memory in dual port memory system
JPH0351943A (en) Sharing system for high/low speed bus lines
KR100217743B1 (en) Common memory interface apparatus and method

Legal Events

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

Payment date: 20121011

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20131127

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151127

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171128

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20181126

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20191125

Year of fee payment: 12