KR100816038B1 - Method for accessing shared memory in multi-processor system - Google Patents
Method for accessing shared memory in multi-processor system Download PDFInfo
- Publication number
- KR100816038B1 KR100816038B1 KR1020060115521A KR20060115521A KR100816038B1 KR 100816038 B1 KR100816038 B1 KR 100816038B1 KR 1020060115521 A KR1020060115521 A KR 1020060115521A KR 20060115521 A KR20060115521 A KR 20060115521A KR 100816038 B1 KR100816038 B1 KR 100816038B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- access
- shared memory
- memory area
- time
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Multi Processors (AREA)
Abstract
Description
도 1은 일반적인 멀티 프로세서 시스템에서 두 개의 프로세서가 공유 메모리 영역에 접근하는 방법을 설명하기 위한 개념도이다.1 is a conceptual diagram illustrating a method in which two processors access a shared memory area in a general multiprocessor system.
도 2는 본 발명의 일실시예에 따른 멀티 프로세서 시스템의 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of a multiprocessor system according to an exemplary embodiment of the present invention.
도 3은 본 발명의 일실시에에 따른 멀티 프로세서 시스템에서 두 개의 프로세서가 공유 메모리 영역에 접근하는 방법을 설명하기 위한 개념도이다.3 is a conceptual diagram illustrating a method of accessing a shared memory area by two processors in a multiprocessor system according to an embodiment of the present invention.
도 4는 본 발명의 일실시예에 따른 멀티 프로세서 시스템에서 제2 프로세서의 공유 메모리 영역에 대한 접근 방법을 나타낸 흐름도이다.4 is a flowchart illustrating a method of accessing a shared memory area of a second processor in a multiprocessor system according to an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for the main parts of the drawings>
110 : 제1 프로세서 120 : 제2 프로세서110: first processor 120: second processor
130 : 제1 외부 버스 인터페이스 140 : 제2 외부 버스 인터페이스130: first external bus interface 140: second external bus interface
200 : 듀얼 포트 메모리 210 : 메모리 셀 어레이200: dual port memory 210: memory cell array
220 : 접근 제어부 230 : 제1 메모리 인터페이스220: access control unit 230: first memory interface
240 : 제2 메모리 인터페이스240: second memory interface
본 발명은 멀티 프로세서 시스템에 관한 것으로, 더욱 상세하게는 적어도 하나의 프로세서를 구비한 휴대용 단말기에 적용할 수 있는 멀티 프로세서 시스템의 공유 메모리 접근 방법에 관한 것이다.The present invention relates to a multiprocessor system, and more particularly, to a shared memory access method of a multiprocessor system applicable to a portable terminal having at least one processor.
최근 들어 휴대폰 및 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 communications, and multimedia data playback in addition to wireless communication functions such as voice calls.
휴대용 단말기는 모뎀 프로세서, 베이스 밴드 프로세서와 같이 이동 통신 본래의 기능을 처리하는 메인 프로세서와 멀티미디어 기능 또는 메인 프로세서의 명령에 의해 어플리케이션 프로그램을 처리하기 위한 부가프로세서 등과 같이 복수의 프로세서가 구비된 멀티프로세서 시스템으로 구성된다.A portable terminal is a multiprocessor system having a plurality of processors, such as a main processor for processing the original functions of mobile communication, such as a modem processor and a baseband processor, and an additional processor for processing an application program by a multimedia function or instructions of the main processor. It consists of.
또한, 일반적으로 상기의 멀티프로세서 시스템을 가지는 휴대용 단말기에서는 두 개의 프로세서 간의 데이터 송수신을 고속으로 수행하고, 메모리의 실장 면적을 줄이기 위해 듀얼 포트 메모리(dual port memory)가 사용된다. In addition, in general, in a portable terminal having the multiprocessor system, dual port memory is used to perform data transmission and reception between two processors at high speed and to reduce a mounting area of the memory.
즉, 두 개의 프로세서가 듀얼 포트 메모리를 사용하게 되면 각각의 프로세서가 자신의 포트를 사용하여 메모리 영역에 접근하여 데이터를 읽고 쓸 수 있기 때문에 두 개의 프로세서가 각각 서로 다른 메모리에 연결되어 호스트 프로세서간 인터페이스(Host Porcessor Interface: HPI)를 통해 처리 데이터를 송수신 하는 경우보다 데이터의 전송 및 처리 속도가 더 빠르고 이로 인해 시스템의 전체적인 성능 이 향상된다.In other words, when two processors use dual-port memory, each processor can access its memory area using its own port to read and write data, so that the two processors are connected to different memory to interface between host processors. Data transfer and processing is faster than processing data sent and received via Host Porcessor Interface (HPI), which improves the overall performance of the system.
그리고 상기 듀얼 포트 메모리는 두 개의 프로세서가 각각 독립적으로 읽기 또는 쓰기 작업을 수행하는 전용 메모리 영역과 두 개의 프로세서가 공동으로 접근(access) 하여 읽기 또는 쓰기 작업을 수행하는 공유 메모리 영역을 포함한다.The dual port memory includes a dedicated memory area in which two processors independently perform read or write operations, and a shared memory area in which two processors collectively access a read or write operation.
듀얼 포트 메모리를 구비한 멀티프로세서 시스템에서 각 프로세서가 자신의 포트를 통해 동시에 동일한 공유 메모리 영역에 접근하게 되면 충돌이 발생하게 되어 두 개의 프로세서가 모두 메모리에 접근할 수 없게 되므로 전체적인 시스템의 성능이 떨어지게 된다는 문제점이 있다.In a multiprocessor system with dual-port memory, if each processor accesses the same shared memory area through its port at the same time, a conflict will occur and both processors will not be able to access the memory, resulting in poor overall system performance. There is a problem.
또한, 두 개의 프로세서 중에서 하나의 프로세서가 공유 메모리 영역에 접근하여 데이터를 읽거나 쓰고 있는 도중에 다른 프로세서가 동일한 공유 메모리 영역에 접근하여 데이터를 쓰게 되면 메모리 영역에 저장된 데이터가 부정확하게 되어 프로세서의 처리 과정 또는 처리 결과에 오류가 발생할 수 있다는 문제점이 있다.In addition, if one processor of the two processors accesses the shared memory area and reads or writes the data while another processor accesses the same shared memory area and writes the data, the data stored in the memory area becomes inaccurate. Or there is a problem that an error may occur in the processing result.
따라서, 상기와 같은 문제점을 해결하기 위해 멀티프로세서 시스템에서는 공유 메모리 영역에 대한 각 프로세서의 상호 배타(mutual exclusive)적 접근을 제어하는 방법 및 장치가 필요하다.Accordingly, in order to solve the above problems, a multiprocessor system needs a method and apparatus for controlling mutual exclusive access of each processor to a shared memory area.
도 1은 일반적인 멀티 프로세서 시스템에서 두 개의 프로세서가 공유 메모리 영역에 접근하는 방법을 설명하기 위한 개념도이다.1 is a conceptual diagram illustrating a method in which two processors access a shared memory area in a general multiprocessor system.
도 1을 참조하면, 제2 프로세서는 시간 t0에서 소정의 공유 메모리 영역에 대한 접근을 시작하여 데이터의 읽기 또는 쓰기 동작을 수행한다. 시간 t0에서 상기 소정의 공유 메모리 영역에 대한 접근은 하드웨어적으로 락(lock) 상태가 되어 제1 프로세서의 접근을 방지한다.Referring to FIG. 1, the second processor starts an access to a predetermined shared memory area at time t0 to read or write data. At time t0, access to the predetermined shared memory area is locked in hardware to prevent access to the first processor.
제1 프로세서는 시간 t1에서 상기 소정의 공유 메모리 영역에 대한 접근을 시도한다. 그러나 제2 프로세서가 상기 소정의 공유 메모리 영역에 대해 이미 접근하여 상기 소정의 공유 메모리 영역에 대한 접근이 락 상태가 되었기 때문에 제1 프로세서는 시간 t1에서 상기 소정의 공유 메모리 영역에 대한 접근을 허가받지 못하고, 접근이 가능할 때까지 대기 상태(idle state)로 있게 된다.The first processor attempts to access the predetermined shared memory area at time t1. However, since the second processor has already accessed the predetermined shared memory area and the access to the predetermined shared memory area is locked, the first processor is not granted access to the predetermined shared memory area at time t1. It remains in an idle state until it is accessible.
이후 시간 t2에서 제2 프로세서가 상기 소정의 공유 메모리 영역에 대한 접근을 종료함으로써 상기 소정의 공유 메모리 영역에 대한 접근 상태가 언락(unlock) 상태로 되면 제1 프로세서는 접근 대기 상태에서 상기 소정의 공유 메모리에 대한 접근을 수행하여 데이터의 읽기 또는 쓰기 동작을 수행한다. Thereafter, when the second processor terminates the access to the predetermined shared memory area at time t2 and the access state to the predetermined shared memory area is unlocked, the first processor is in the waiting state for accessing the predetermined share. Access to memory is performed to read or write data.
이때 제1 프로세서가 접근한 상기 소정의 공유 메모리 영역에 대한 접근은 락 상태가 되어 제2 프로세서는 상기 소정의 공유 메모리 영역에 대해 접근할 수 없게 된다.At this time, the access to the predetermined shared memory area accessed by the first processor is locked, and the second processor cannot access the predetermined shared memory area.
도 1에 도시한 멀티 프로세서 시스템에서 제2 프로세서의 전체 접근 지연(latency) 시간은 시간 t0에서 t2까지 이고, 제1 프로세서의 전체 접근 지연 시간은 제1 프로세서가 처음으로 접근을 시도한 시간 t1에서 t3까지가 된다.In the multi-processor system shown in FIG. 1, the total access latency time of the second processor is from time t0 to t2, and the total access delay time of the first processor is time t1 at time t1 when the first processor attempts access for the first time. It becomes until.
도 1에 도시한 일반적인 멀티 프로세서 시스템의 공유 메모리 접근 방법은 소정의 공유 메모리 영역에 대한 제1 프로세서 및 제2 프로세서의 상호 배타적인 접근을 보장하고, 제1 프로세서 및 제2 프로세서가 소정의 공유 메모리 영역에 대해 공평하게 접근을 시도함으로써 어느 하나의 프로세서가 기아(starvation) 현상 에 빠지는 것을 방지할 수 있다. The shared memory access method of the general multiprocessor system shown in FIG. 1 ensures mutually exclusive access of a first processor and a second processor to a predetermined shared memory area, and the first processor and the second processor provide a predetermined shared memory. By trying to access the domain fairly, it is possible to prevent any processor from starvation.
그러나, 도 1에 도시한 일반적인 멀티 프로세서 시스템의 공유 메모리 접근 방법에서 제1 프로세서가 휴대용 단말기에 구비된 메인프로세서이고, 제2 프로세서가 휴대용 단말기에서 어플리케이션 또는 멀티미디어 기능을 처리하기 위한 부가프로세서라 가정하면, 메인 프로세서는 공유 메모리 영역에 접근하여 읽기 또는 쓰기 등의 작업을 수행하는 데이터의 단위가 크고, 프로세서 자체의 처리 성능이 부가프로세서에 비해 떨어지기 때문에 도 1에 도시한 바와 같이 제1 프로세서 즉, 메인 프로세서의 접근 지연시간이 길어지면 길어질수록 전체적인 멀티 프로세서 시스템의 처리 성능이 떨어지게 된다는 단점이 있다.However, in the shared memory access method of the general multiprocessor system illustrated in FIG. 1, it is assumed that a first processor is a main processor provided in a portable terminal, and a second processor is an additional processor for processing an application or a multimedia function in the portable terminal. Since the main processor has a large unit of data that accesses the shared memory area and performs operations such as reading or writing, and the processing power of the processor itself is inferior to that of the additional processor, the first processor as shown in FIG. The longer the access delay time of the main processor, the lower the processing performance of the overall multiprocessor system.
따라서, 본 발명의 목적은 별도의 하드웨어 추가 없이 멀티 프로세서 시스템의 처리 성능을 향상시킬 수 있는 멀티 프로세서 시스템의 공유 메모리 접근 방법을 제공하는 것이다.Accordingly, an object of the present invention is to provide a shared memory access method of a multiprocessor system capable of improving processing performance of a multiprocessor system without additional hardware.
상술한 본 발명의 목적을 달성하기 위한 본 발명의 일측면에 따른 멀티 프로세서 시스템의 공유 메모리 접근 방법은 제1 프로세서, 제2 프로세서, 공유 메모리 및 접근 제어부를 포함한 멀티 프로세서 시스템의 공유 메모리 접근 제어 방법에 있어서, 상기 제2 프로세서가 기설정된 접근 시간 동안 상기 공유 메모리 영역에 접근하는 단계와, 상기 제2 프로세서가 상기 접근 시간이 종료된 후 기설정된 대기 시간 동안 상기 공유 메모리 영역에 대한 접근을 대기하는 단계 및 상기 제1 프로 세서가 상기 대기 시간에 상기 공유 메모리에 접근하는 단계를 포함하고, 상기 제2 프로세서는 상기 기설정된 접근 시간 동안 상기 공유 메모리 영역에 접근하는 단계 및 상기 접근 시간이 종료된 후 기설정된 대기 시간 동안 상기 공유 메모리 영역에 대한 접근을 대기하는 단계를 반복하여 상기 공유 메모리에 대한 접근을 수행한다. 상기 접근 시간은 상기 제2 프로세서가 상기 공유 메모리에 접근하는 시간을 소정의 시간 간격으로 분할한 것일 수 있다. 상기 제2 프로세서가 기설정된 접근 시간 동안 상기 공유 메모리 영역에 접근하는 단계는, 상기 제2 프로세서가 상기 공유 메모리 영역에 대한 접근을 요청하는 단계와, 상기 제2 프로세서가 상기 공유 메모리 영역에 대한 접근 허용 여부를 판단하는 단계를 더 포함할 수 있다. 상기 공유 메모리 영역에 대한 접근을 요청하는 단계 상기 제2 프로세서가 제1 논리값을 가지는 접근 요청 신호를 상기 접근 제어부에 전송함으로써 상기 공유 메모리 영역에 대한 접근을 요청할 수 있다. 상기 공유 메모리 영역에 대한 접근 허용 여부를 판단하는 단계는 상기 제2 프로세서가 상기 접근 제어부로부터 제공된 접근 허용 신호의 논리값을 판별함으로써 상기 공유 메모리 영역에 대한 접근 허용 여부를 판단할 수 있다. 상기 제2 프로세서가 상기 접근 시간이 종료된 후 기설정된 대기 시간 동안 상기 공유 메모리 영역에 대한 접근을 대기하는 단계는, 상기 접근 시간의 종료 여부를 판단하는 단계와, 상기 접근 시간이 종료된 경우, 상기 제2 프로세서가 상기 접근 시간의 종료를 통보하는 단계 및 상기 제2 프로세서가 기설정된 대기 시간 동안 상기 공유 메모리 영역에 대한 접근을 대기하는 단계를 포함할 수 있다. 상기 제2 프로세서가 상기 접근 시간의 종료를 통보하는 단계는 상기 제2 프로세서 가 제2 논리값을 상기 접근 제어부에 전송함으로써 상기 접근 시간의 종료을 통보할 수 있다. 상기 멀티 프로세서 시스템의 공유 메모리 접근 방법은 상기 기설정된 대기 시간이 종료된 후 상기 공유 메모리 영역에 상기 제1 프로세서가 접근하고 있는 경우에는 상기 제1 프로세서의 접근이 종료된 후 상기 접근 시간 동안 상기 공유 메모리에 접근하는 단계를 더 포함할 수 있다. 상기 제1 프로세서는 휴대용 단말기의 메인 프로세서이고, 상기 제2 프로세서는 상기 휴대용 단말기의 부가 프로세서가 될 수 있다. Shared memory access method of a multi-processor system according to an aspect of the present invention for achieving the above object of the present invention is a shared memory access control method of a multi-processor system including a first processor, a second processor, a shared memory and an access controller The method of claim 1, wherein the second processor accesses the shared memory area for a preset access time, and the second processor waits for access to the shared memory area for a preset waiting time after the access time ends. And accessing the shared memory at the waiting time by the first processor, wherein the second processor accesses the shared memory area for the preset access time and after the access time is over. Wait for access to the shared memory area for a preset waiting time. Repeat steps to perform access to the shared memory. The access time may be obtained by dividing a time when the second processor accesses the shared memory at predetermined time intervals. The accessing of the shared memory area by the second processor for a preset access time may include: requesting the second processor to access the shared memory area, and accessing the shared memory area by the second processor; The method may further include determining whether to allow. Requesting Access to the Shared Memory Region The second processor may request access to the shared memory region by transmitting an access request signal having a first logic value to the access controller. In the determining of whether to allow access to the shared memory area, the second processor may determine whether to allow access to the shared memory area by determining a logic value of an access permission signal provided from the access controller. Waiting for the second processor to access the shared memory area for a preset waiting time after the access time ends, determining whether the access time ends, and when the access time ends, The second processor may include notifying the end of the access time, and the second processor waiting for access to the shared memory area for a preset waiting time. In the notifying of the end of the access time, the second processor may notify the end of the access time by transmitting a second logic value to the access controller. In the shared memory access method of the multi-processor system, when the first processor is approaching the shared memory area after the preset waiting time ends, the access is performed during the access time after the access of the first processor is terminated. The method may further include accessing the memory. The first processor may be a main processor of the portable terminal, and the second processor may be an additional processor of the portable terminal.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. 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 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first and second 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.
도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.In describing the drawings, similar reference numerals are used for similar components.
이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 이하, 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. Hereinafter, the same reference numerals are used for the same components in the drawings, and duplicate descriptions of the same components are omitted.
도 2는 본 발명의 일실시예에 따른 멀티 프로세서 시스템의 구성을 나타내는 블록도이다.2 is a block diagram illustrating a configuration of a multiprocessor system according to an exemplary embodiment of the present invention.
도 2를 참조하면, 본 발명의 일실시예에 따른 멀티 프로세서 시스템은 제1 프로세서(110), 제2 프로세서(120), 제1 외부 버스 인터페이스(130)(External Bus Interface: EBI), 제2 외부 버스 인터페이스(140) 및 듀얼 포트 메모리(200)를 포함하여 구성된다.2, a multiprocessor system according to an embodiment of the present invention may include a
그리고, 듀얼 포트 메모리(200)는 메모리 셀 어레이(210), 접근 제어부(220), 제1 메모리 인터페이스(230) 및 제2 메모리 인터페이스(240)를 포함하고, 메모리 셀 어레이(210)는 제1 전용 메모리 영역(211), 제2 전용 메모리 영역(213), 제3 전용 메모리 영역(215) 및 복수의 공유 메모리 영역(217)을 포함한다.The
제1 프로세서(110)는 핸드폰과 같은 휴대용 단말기에서 음성 통화와 같은 이동통신 본래의 기능을 처리하는 메인 프로세서가 될 수 있고, 제2 프로세서(120)는 휴대용 단말기에서 상기 메인 프로세서의 명령에 의한 어플리케이션 프로그램의 실행이나 멀티미디어 기능을 처리하기 위한 부가 프로세서가 될 수 있다. 상기 메인 프로세서는 모뎀 프로세서 또는 베이스 밴드 프로세서가 될 수 있다.The
제1 외부 버스 인터페이스(130) 및 제2 외부 버스 인터페이스(140)는 일종의 메모리 컨트롤러(memory controller) 역할을 수행하며 SDRAM(Synchronous DRAM) 또는 PSRAM(Pseudo SRAM)의 외부 버스 인터페이스가 사용될 수 있다. 이하 본 발명의 일실시예에서는 제1 외부 버스 인터페이스(130) 및 제2 외부 버스 인터페이스(140)는 SDRAM 외부 버스 인터페이스인 것으로 가정한다.The first
듀얼 포트 메모리(200)는 제1 포트(250)를 통해 제1 외부 버스 인터페이스(130)를 가지는 제1 프로세서(110)와 연결되고, 제2 포트(260)를 통해 제2 외부 버스 인터페이스(140)를 가지는 제2 프로세서(120)와 연결된다.The
제1 프로세서(110)는 듀얼 포트 메모리(200)의 제1 포트(250)를 통하여 어드레스(ADD1), 복수의 제어신호들(CTR1) 및 클럭(CLK1)을 듀얼 포트 메모리(200)에 제공하고, 듀얼 포트 메모리(200)는 제1 포트(250) 및 제1 외부 버스 인터페이스(130)를 사용하여 제1 프로세서(110)와 데이터(DQ1)의 입출력을 수행한다.The
또한, 제2 프로세서(120)는 듀얼 포트 메모리(200)의 제2 포트(260)를 통하여 어드레스(ADD2), 복수의 제어신호들(CTR2) 및 클럭(CLK2)을 듀얼 포트 메모리(200)에 제공하고, 듀얼 포트 메모리(200)는 제2 포트(260) 및 제2 외부 버스 인터페이스(140)를 사용하여 제2 프로세서(120)와 데이터(DQ2)의 입출력을 수행한다.In addition, the
메모리 셀 어레이(210)는 DRAM의 단위 메모리 셀 구조를 가지고 제1 내지 제3 전용 메모리 영역(211 내지 215) 및 복수의 공유 메모리 영역(217)을 포함한다. 제1 전용 메모리 영역(211)은 제1 프로세서(110)가 독립적으로 접근하여 읽기 또는 쓰기 작업을 수행하는 제1 프로세서(110)의 전용 메모리 영역이 될 수 있고, 제2 및 제3 전용 메모리 영역(213, 215)은 제2 프로세서(120)가 독립적으로 접근하여 읽기 또는 쓰기 작업을 수행하는 제2 프로세서(120)의 전용 메모리 영역이 될 수 있다. 여기서, 제1 내지 제3 전용 메모리 영역(211 내지 215) 각각은 소정 크기를 가지는 뱅크(bank) 단위로 형성될 수 있다.The
복수의 공유 메모리 영역(217)은 소정 크기를 가지는 뱅크(Bank) 단위로 형성될 수도 있고, 하나의 뱅크내에서 소정 크기를 갖는 블록(block) 단위로 복수의 공유 메모리 영역(217)이 구성될 수도 있다. 도 2에서 복수의 공유 메모리 영역(217)은 네 개의 공유 메모리 영역을 포함하는 것으로 도시하였다.The plurality of shared
제1 메모리 인터페이스(230)는 SDRAM 메모리 인터페이스로 구성되고, 제1 포트(250)를 통하여 제1 프로세서(110)로부터 어드레스(ADD1), 제어신호(CTR1), 클럭(CLK1) 및 데이터(DQ1)를 입력받고 어드레스(ADD1)를 로우 어드레스와 컬럼 어드레스로 디코딩한 후 디코딩된 어드레스(I_AD1)를 메모리 셀 어레이(210)로 출력하고 메모리 셀 어레이(210)의 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 데이터(I_DQ1)를 메모리 셀 어레이(210)로부터 독출하거나 메모리 셀 어레이(210)에 기록한다.The
이를 위해 제1 메모리 인터페이스(230)는 일반적인 SDRAM 인터페이스에서 사용되는 명령 디코더(Command decoder)(미도시), 로우 디코더(Row decoder) (미도시), 컬럼 디코더(Column decoder) (미도시) 및 입출력 버퍼(미도시) 등을 포함할 수 있다.To this end, the
제2 메모리 인터페이스(240)는 SDRAM 메모리 인터페이스로 구성되고, 제2 포트(260)를 통하여 제2 프로세서(120)로부터 어드레스(ADD2), 제어신호(CTR2), 클럭(CLK2) 및 데이터(DQ2)를 입력받고 어드레스(ADD2)를 로우 어드레스와 컬럼 어드레스로 디코딩한 후 디코딩된 어드레스(I_AD2)를 메모리 셀 어레이(210)로 출력하고 메모리 셀 어레이(210)의 읽기, 쓰기 및 리프레쉬 등의 동작 타이밍에 따라 데이터(I_DQ2)를 메모리 셀 어레이(210)로부터 독출하거나 메모리 셀 어레이(210)에 기록한다.The
이를 위해 제2 메모리 인터페이스(240)는 일반적인 SDRAM 인터페이스에서 사용되는 명령 디코더(미도시), 로우 디코더(미도시), 컬럼 디코더(미도시) 및 입출 력 버퍼(미도시) 등을 포함할 수 있다.To this end, the
접근 제어부(220)는 복수의 공유 메모리 영역(217) 각각에 대한 제1 프로세서(110) 및 제2 프로세서(120)의 상호 배타적 접근을 보장한다.The
즉, 제1 프로세서(110) 및 제2 프로세서(120)로부터 각각 제1 메모리 인터페이스(230) 및 제2 메모리 인터페이스(240)를 통해 소정의 공유 메모리 영역 각각에 대한 접근 요청 신호(SEM)를 입력받고, 상기 요청받은 공유 메모리 영역의 현재의 접근 상태에 따라 접근 허용 신호(READY)를 제1 프로세서(110) 및 제2 프로세서(120)에 제공함으로써 소정의 공유 메모리 영역 각각에 대한 제1 프로세서(110) 및 제2 프로세서(120)의 상호 배타적 접근을 보장한다.여기서, 제1 프로세서(110)는 제1 메모리 인터페이스(230)를 통해 접근 요청 신호(SEM)를 전송하고, 제2 프로세서(120)는 제2 메모리 인터페이스(240)를 통해 접근 요청 신호(SEM)를 전송한다.That is, the access request signal SEM for each of the predetermined shared memory areas is input from the
접근 요청 신호(SEM)는 논리값 '0' 또는 '1'을 가질 수 있으며, 제1 프로세서(110) 및 제2 프로세서(120)가 소정의 공유 메모리 영역에 대해 접근 요청을 하는 경우에는 접근 요청 신호(SEM)는 논리값 '0'이 될 수 있고, 제1 프로세서(110) 및 제2 프로세서(120)가 소정의 공유 메모리 영역에서 작업을 마친 경우에는 접근 요청 신호(SEM)는 논리값 '1'이 될 수 있다.The access request signal SEM may have a logic value of '0' or '1', and when the
또한, 본 발명의 다른 실시예에서는 제1 프로세서(110) 및 제2 프로세서(120)가 소정의 공유 메모리 영역에 대해 접근 요청을 하는 경우에 접근 요청 신호(SEM)는 논리값 '1'이 되고, 제1 프로세서(110) 및 제2 프로세서(120)가 소정의 공유 메모리 영역에서 작업을 마친 경우에는 접근 요청 신호(SEM)는 논리값 '0'이 되도록 접근 요청 신호(SEM)를 구성할 수도 있다.In addition, in another embodiment of the present invention, when the
접근 제어부(220)는 제1 프로세서(110) 및 제2 프로세서(120)로부터 소정 공유 메모리 영역에 대한 접근 요청시 논리값 '0'을 입력받고, 요청된 소정 공유 메모리 영역의 현재의 접근 상태에 따라 접근이 가능한 경우는 논리값 '0'을 접근 허용 신호(READY)로 출력하고, 접근이 가능하지 않은 경우는 논리값 '1'을 접근 허용 신호(READY)로 출력한다.The
도 3은 본 발명의 일실시예에 따른 멀티 프로세서 시스템에서 두 개의 프로세서가 공유 메모리 영역에 접근하는 방법을 설명하기 위한 개념도이다.3 is a conceptual diagram illustrating a method in which two processors access a shared memory area in a multiprocessor system according to an embodiment of the present invention.
도 3을 참조하면, 제2 프로세서(120)는 시간 t0에서 소정의 공유 메모리 영역에 대한 접근을 시작하여 데이터의 읽기 또는 쓰기 동작을 수행한다. 시간 t0에서 제2 프로세서(120)가 상기 소정의 공유 메모리 영역에 접근하게 되면 상기 소정의 공유 메모리 영역은 락(lock) 상태가 되어 제1 프로세서(110)가 접근할 수 없게 된다.Referring to FIG. 3, the
이후 시간 t1에서 제2 프로세서(120)는 상기 소정의 공유 메모리 영역에 대한 접근을 일시 종료하고 상기 소정의 공유 메모리 영역은 언락(unlock) 상태가 된다. 그리고 제2 프로세서(120)는 시간 t2까지 대기 상태를 유지함으로써, 제1 프로세서(110)가 상기 소정의 공유 메모리 영역에 접근할 수 있는 시간을 마련한다.Then, at time t1, the
시간 t1에서 t2 사이에 제1 프로세서(110)가 상기 소정의 공유 메모리 영역에 대한 접근을 시도하지 않았으므로 시간 t2에서 제2 프로세서(120)는 상기 소정의 공유 메모리 영역에 대한 접근을 다시 시도하여 읽기 또는 쓰기 작업을 계속 수 행한다.Since the
제2 프로세서(120)가 소정의 공유 메모리 영역에 접근하고 작업을 수행하고 있는 도중에 시간 t3에서 제1 프로세서(110)가 상기 소정의 공유 메모리 영역에 대한 접근을 시도한다. 그러나 제2 프로세서(120)가 상기 소정의 공유 메모리 영역에 대해 이미 접근하여 상기 소정의 공유 메모리 영역에 대한 접근이 락 상태가 되었기 때문에 제1 프로세서(110)는 시간 t3에서 상기 소정의 공유 메모리 영역에 대한 접근을 허가받지 못하고, 접근이 가능할 때까지 대기 상태(idle state)로 있게 된다.While the
이후 시간 t4에서 제2 프로세서(120)가 상기 소정의 공유 메모리 영역에 대한 접근을 일시 종료함으로써 상기 소정의 공유 메모리 영역에 대한 접근이 언락(unlock) 상태로 되면 접근 대기 상태에 있던 제1 프로세서(110)는 상기 소정의 공유 메모리에 대한 접근을 수행하여 데이터의 읽기 또는 쓰기 동작을 수행한다.Thereafter, when the
이때 상기 소정의 공유 메모리 영역은 제1 프로세서(110)가 접근하였기 때문에 락 상태가 되어 제2 프로세서(120)는 상기 소정의 공유 메모리 영역에 대해 접근할 수 없게 된다.In this case, the predetermined shared memory area is locked because the
제1 프로세서(110)가 시간 t5에서 상기 소정의 공유 메모리 영역에 대한 접근을 종료하면 상기 소정의 공유 메모리 영역은 언락 상태가 되어 제2 프로세서(120)가 접근하여 작업을 수행한 후 시간 t6에서 작업을 일시 종료한 후 상기 소정의 공유 메모리 영역에 대한 접근을 언락하고 시간 t7까지 접근 대기 상태를 유지함으로써 제1 프로세서(110)가 접근할 수 있도록 한다. 그리고, 다시 시간 t7에 서 상기 소정의 공유 메모리 영역에 접근하여 작업을 수행하고, 시간 t8에서 상기 소정의 공유 메모리 영역에 대한 접근을 종료한다.When the
도 3에 도시한 본 발명의 일실시예에 따른 멀티 프로세서 시스템의 공유 메모리 접근 방법에서 제1 프로세서(110)의 전체 접근 지연시간은 t3에서 t5까지이고, 여기서 제1 프로세서(110)의 접근 대기 시간은 t3에서 t4까지가 된다. 또한, 제2 프로세서(120)의 전체 접근 지연시간은 t0에서 t8까지가 된다.In the shared memory access method of the multi-processor system shown in FIG. 3, the total access delay time of the
도 3에 도시한 바와 같이 본 발명의 일실시예에 따른 멀티 프로세서 시스템의 공유 메모리 접근 방법에서는 제1 프로세서(110) 즉, 메인 프로세서 보다 처리 성능이 우수한 제2 프로세서(120) 즉, 부가 프로세서의 공유 메모리 영역에 대한 접근 시간을 소정 크기를 갖는 작은 시간 단위로 분할하고, 분할된 접근 시간 단위 사이에 접근 대기 시간을 마련하여, 제1 프로세서(110)가 상기 접근 대기 시간에 소정의 공유 메모리 영역에 접근하도록 함으로써 제1 프로세서(110)의 접근 대기 시간을 줄일 수 있다.As shown in FIG. 3, in the shared memory access method of the multi-processor system according to an exemplary embodiment of the present invention, the
도 3에서 제2 프로세서(120)의 공유 메모리 영역에 대한 접근 시간 단위(AT) 및 접근 대기 시간(IT)은 제1 프로세서(110)의 성능 또는 제2 프로세서(120)가 주로 처리하는 작업 데이터의 종류에 따라 소정의 시간 단위로 설정할 수 있다. In FIG. 3, the access time unit (AT) and the access wait time (IT) for the shared memory area of the
또한, 제2 프로세서(120)의 공유 메모리 영역에 대한 각 접근 시간 단위(AT) 및 접근 대기 시간 단위(IT)는 일정한 시간 단위로 설정될 수도 있고, 서로 다른 시간 단위로 설정될 수도 있다. 예를 들어, 제2 프로세서(120)의 소정의 공유 메모리 영역에 대한 접근 시간 단위(AT)는 제1 프로세서(110)의 평균 접근 시간의 절반 이하로 설정함으로써, 제1 프로세서(110)의 공유 메모리 영역에 대한 최대 접근 대기 시간을 제2 프로세서(120)의 접근 시간 단위 이하로 줄일 수 있다.In addition, each of the access time units AT and the access wait time IT for the shared memory area of the
그리고, 공유 메모리 영역에 대한 제2 프로세서(120)의 접근 시간에 대한 분할은 응용 프로그램 인터페이스(Application Programming Interface: API)를 이용하여 제2 프로세서(120)의 공유 메모리 영역에 대한 접근을 저수준(low-level) 프로그래밍 함으로써 별도의 하드웨어를 추가하지 않고 소프트웨어적인 방법으로 구현할 수 있다.In addition, the division of the access time of the
도 4는 본 발명의 일실시예에 따른 멀티 프로세서 시스템에서 제2 프로세서의 공유 메모리 영역에 대한 접근 방법을 나타낸 흐름도이다.4 is a flowchart illustrating a method of accessing a shared memory area of a second processor in a multiprocessor system according to an embodiment of the present invention.
도 4를 참조하면, 먼저 제2 프로세서(120)는 소정의 공유 메모리 영역에 대한 접근을 위해 접근 제어부(220)에 접근 요청을 한다(단계 301). 즉, 제2 프로세서(120)는 접근 제어부(220)에 접근 요청 신호(SEM)로 논리값 '0'을 전송함으로써 소정의 공유 메모리 영역에 대한 접근 요청을 한다.Referring to FIG. 4, first, the
이후, 제2 프로세서(120)는 접근 제어부(220)로부터 접근 허용 신호(READY)를 독출하여 상기 소정의 공유 메모리 영역에 대한 접근 허용 여부를 판단한다(단계 303). Thereafter, the
즉, 제2 프로세서(120)는 접근 제어부(220)로부터 출력되는 접근 허용 신호(READY)가 논리값 '0'인 경우는 상기 소정의 공유 영역에 대한 접근이 허용된 것으로 판단하고, 접근 제어부(220)로부터 출력되는 접근 허용 신호(READY)가 논리값 '1'인 경우는 상기 소정의 공유 영역에 대한 접근이 허용되지 않은 것으로 판단한 다. 여기서, 접근 허용 신호(READY)가 논리값 '1'인 경우는 상기 소정의 공유 메모리 영역에 제1 프로세서(110)가 접근하고 있음을 의미한다.That is, when the access permission signal READY output from the
단계 303에서 판단결과, 접근이 허용된 것으로 판단되면 제2 프로세서(120)는 상기 소정의 공유 메모리 영역에 접근하여 데이터의 읽기 또는 쓰기 작업을 수행한다(단계 305).If it is determined in
그리고, 제2 프로세서(120)는 상기 소정의 공유 메모리 영역에 대한 기설정된 접근 시간이 종료되었는지를 판단하고(단계 307), 상기 소정의 공유 메모리 영역에 대한 접근 시간이 종료되지 않은 것으로 판단되면 단계 305로 되돌아가서 상기 소정의 공유 메모리 영역에 대한 읽기 또는 쓰기 작업을 계속 수행한다. The
그리고, 단계 307에서 접근 시간이 종료된 것으로 판단되면 제2 프로세서(120)는 상기 소정의 공유 메모리 영역에 대한 접근을 일시 종료하고 접근 제어부(220)에 접근 종료를 통보함으로써 제1 프로세서(110)가 상기 소정의 공유 메모리 영역에 접근할 수 있도록 하고(단계 309), 상기 공유 메모리 영역에 대한 접근 대기 상태로 진입한다(단계 311). 여기서, 제2 프로세서(120)는 접근 제어부(220)에 논리값 '1'을 전송함으로써 상기 소정의 공유 메모리 영역에 대한 접근 종료를 통보한다.If it is determined in
이후, 제2 프로세서(120)는 기설정된 접근 대기 시간이 종료되었는지를 판단하고(단계 313), 접근 대기 시간이 종료되지 않은 것으로 판단되면 단계 311로 되돌아가서 상기 소정의 공유 메모리 영역에 대한 접근을 대기하고, 접근 대기 시간이 종료된 것으로 판단되면 공유 메모리 영역에 대한 접근 종료에 해당하는 이벤트 가 발생되었는지를 판단한다(단계 315).Thereafter, the
단계 315에서 상기 소정의 공유 메모리 영역에 대한 접근 종료에 해당하는 이벤트가 발생된 것으로 판단되면 상기 소정의 공유 메모리 영역에 대한 접근을 종료하고, 접근 종료에 해당하는 이벤트가 발생되지 않은 것으로 판단되면 단계 301로 되돌아가서 이후의 단계들을 순차적으로 수행함으로써 기설정된 접근 시간 단위(AT) 및 접근 대기 시간 단위(IT)에 따라 상기 소정의 공유 메모리 영역에 대한 접근을 수행함으로써 제1 프로세서(110)가 상기 접근 대기 시간에 상기 소정의 공유 메모리 영역에 대한 접근을 수행하도록 하여 제1 프로세서(110)의 전체적인 접근 지연 시간을 감소시킨다.If it is determined in
그리고, 도 4에 도시된 본 발명의 일실시예에 따른 공유 메모리 영역에 대한 접근 방법은 복수의 공유 메모리 영역 각각에 대해 적용될 수 있다.In addition, the access method to the shared memory area according to the embodiment of the present invention illustrated in FIG. 4 may be applied to each of the plurality of shared memory areas.
상기와 같은 멀티 프로세서 시스템의 공유 메모리 접근 방법에 따르면, 소정의 공유 메모리 영역에 대한 제2 프로세서의 접근을 소정의 시간 단위로 분할하고, 분할된 접근 시간 단위 사이에 접근 대기 시간을 마련하여 제1 프로세서가 상기 소정의 공유 메모리 영역에 접근할 수 있도록 한다.According to the shared memory access method of the multi-processor system as described above, the first processor divides the access of the second processor to a predetermined shared memory area by a predetermined time unit, and prepares an access waiting time between the divided access time units. Allow a processor to access the predetermined shared memory area.
따라서, 제2 프로세서(부가 프로세서) 보다 처리 성능이 낮고, 더 큰 데이터 처리 단위를 가지는 제1 프로세서(메인 프로세서)의 접근 지연시간을 줄일 수 있어서 멀티 프로세서 시스템 전체의 처리 속도를 향상시킬 수 있다. Accordingly, the access delay time of the first processor (main processor) having lower processing performance than that of the second processor (additional processor) and having a larger data processing unit can be reduced, thereby improving the processing speed of the entire multiprocessor system.
또한, 별도의 하드웨어를 추가하지 않고 소프트웨어적인 방법으로 소정의 공 유 메모리 영역에 대한 제2 프로세서의 접근 시간을 작게 분할함으로써 적은 비용으로 멀티 프로세서 시스템의 성능을 향상시킬 수 있다. In addition, by dividing the access time of the second processor to a predetermined shared memory area by a software method without adding additional hardware, the performance of the multiprocessor system can be improved at a low cost.
이상 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although described with reference to the embodiments above, those skilled in the art will understand that the present invention can be variously modified and changed without departing from the spirit and scope of the invention as set forth in the claims below. Could be.
Claims (9)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060115521A KR100816038B1 (en) | 2006-11-21 | 2006-11-21 | Method for accessing shared memory in multi-processor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020060115521A KR100816038B1 (en) | 2006-11-21 | 2006-11-21 | Method for accessing shared memory in multi-processor system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR100816038B1 true KR100816038B1 (en) | 2008-03-21 |
Family
ID=39411443
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060115521A KR100816038B1 (en) | 2006-11-21 | 2006-11-21 | Method for accessing shared memory in multi-processor system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100816038B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101352451B1 (en) | 2013-08-22 | 2014-01-17 | (주)지란지교소프트 | Method for data sharing usign controlling by provider and recording-medium recorded program thereof |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950025556A (en) * | 1994-02-28 | 1995-09-18 | 김광호 | How to Share Main and Subprocessor Memory |
JP2002123420A (en) | 2000-10-13 | 2002-04-26 | Matsushita Electric Ind Co Ltd | Memory access device |
KR20020056424A (en) * | 2000-12-29 | 2002-07-10 | 엘지전자 주식회사 | Operation controlling method for hardware state machine |
JP2004102452A (en) | 2002-09-05 | 2004-04-02 | Matsushita Electric Ind Co Ltd | Memory unit |
-
2006
- 2006-11-21 KR KR1020060115521A patent/KR100816038B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR950025556A (en) * | 1994-02-28 | 1995-09-18 | 김광호 | How to Share Main and Subprocessor Memory |
JP2002123420A (en) | 2000-10-13 | 2002-04-26 | Matsushita Electric Ind Co Ltd | Memory access device |
KR20020056424A (en) * | 2000-12-29 | 2002-07-10 | 엘지전자 주식회사 | Operation controlling method for hardware state machine |
JP2004102452A (en) | 2002-09-05 | 2004-04-02 | Matsushita Electric Ind Co Ltd | Memory unit |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101352451B1 (en) | 2013-08-22 | 2014-01-17 | (주)지란지교소프트 | Method for data sharing usign controlling by provider and recording-medium recorded program thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101558482B1 (en) | Bank sharing and refresh in a shared multi-port memory device | |
US7650453B2 (en) | Information processing apparatus having multiple processing units sharing multiple resources | |
US20040024955A1 (en) | Application processors and memory architecture for wireless applications | |
US9703493B2 (en) | Single-stage arbiter/scheduler for a memory system comprising a volatile memory and a shared cache | |
EP3082048B1 (en) | Memory configured to provide simultaneous read/write access to multiple banks | |
KR101103619B1 (en) | Multi-port memory system and access control method thereof | |
US6163828A (en) | Methods and apparatus for providing multi-processor access to shared memory | |
KR101110550B1 (en) | Processor, Multi-processor System And Method For Controlling Access Authority For Shared Memory In Multi-processor System | |
KR100816038B1 (en) | Method for accessing shared memory in multi-processor system | |
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 | |
KR100874169B1 (en) | Dual port memory for direct transfer of commands between processors and method for performing them | |
KR100872196B1 (en) | Memory system and method of controlling access of dual port memory using the memory system | |
KR100863541B1 (en) | Synchronization Control Device, Dual Port Memory Having Synchornization Control Device and Method for Controlling Synchonization in Dual Port Memory | |
KR100827720B1 (en) | Dual Port Memory having Access Control Device, Memory System Having the Same and Access Control Method for Dual Port Memory | |
US7814282B2 (en) | Memory share by a plurality of processors | |
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 | |
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 | |
KR100813133B1 (en) | Dual port memory apparatus, memory system and method for adaptive using shared memory area of dual port memory apparatus | |
US7346726B2 (en) | Integrated circuit with dynamic communication service selection | |
KR100867603B1 (en) | Dual port memory having common signal line | |
JPH0351943A (en) | Sharing system for high/low speed bus lines | |
KR100879567B1 (en) | Dual Port Memory for directly transferring data between processors using first-in first-out and memory system thereof | |
JP2000029824A (en) | Hiearchical bus system and bus converter | |
CN114595173A (en) | Data transmission method, system and computer readable storage medium |
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: 20130221 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140303 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20150302 Year of fee payment: 8 |
|
FPAY | Annual fee payment |
Payment date: 20180226 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20190225 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20200225 Year of fee payment: 13 |