KR20020063365A - Real time memory management method of multi processor system - Google Patents
Real time memory management method of multi processor system Download PDFInfo
- Publication number
- KR20020063365A KR20020063365A KR1020010003967A KR20010003967A KR20020063365A KR 20020063365 A KR20020063365 A KR 20020063365A KR 1020010003967 A KR1020010003967 A KR 1020010003967A KR 20010003967 A KR20010003967 A KR 20010003967A KR 20020063365 A KR20020063365 A KR 20020063365A
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- shared memory
- data
- memory
- address
- Prior art date
Links
Classifications
-
- 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/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17331—Distributed shared memory [DSM], e.g. remote direct memory access [RDMA]
-
- 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/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4208—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0044—Versatile modular eurobus [VME]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
Description
본 발명은 다중프로세서의 공유메모리 실시간 공유 사용방법에 관한 것으로서, 특히 공유메모리를 제 1 프로세서가 데이타 억세스하고 있는 상태에서 제 2 프로세서가 제 1 프로세서가 억세스한 공유메모리의 번지를 체킹하고, 그 체킹된 영역만큼의 데이타를 카피하여 분리한 후 처리하도록 하므로서, 공유메모리를 제 1프로세서가 사용하고 있을때에도 제 2 프로세서가 공유메모리에 저장된 데이타를 실시간 처리할 수있도록 하여 프로세서간의 데이타 처리속도를 한층 더 향상시킬 수 있도록 한 다중 프로세서의 공유메모리 실시간 공유 사용방법에 관한 것이다.The present invention relates to a method of using shared memory real-time sharing of a multiprocessor. In particular, the second processor checks the address of the shared memory accessed by the first processor and checks the shared memory while the first processor is accessing the data. By copying and separating the data as much as the allocated area, the second processor can process the data stored in the shared memory in real time even when the first processor is using the shared memory. The present invention relates to a method of using real-time sharing of shared memory of a multiprocessor to improve.
현재 윈도우 NT 와같은 시스템에서는 복수의 프로세서가 1개의 공유메모리를 같이 사용하도록 하고 있다.Currently, systems like Windows NT allow multiple processors to share a shared memory.
이와같이 공유메모리를 복수의 프로세서가 공유하게되면 메모리의 갯수 및 용량을 줄일 수 있는 효과가 있다.As such, when a plurality of processors share a shared memory, the number and capacity of the memory can be reduced.
도 1 은 종래의 공유메모리 사용방법을 설명하기위한 도면으로서,1 is a view for explaining a conventional method of using a shared memory,
일정용량의 공유메모리(3)가 VME버스에 연결되어 있고, 제 1 및 제 2 프로세서(1,2)가 VME버스를 통해 공유메모리(3)에 접속가능하게 연결되어 있다.Shared memory 3 of a given capacity is connected to the VME bus, and the first and second processors 1, 2 are connected to the shared memory 3 via the VME bus.
종래의 공유메모리 사용방법은 제 1 프로세서(1)와 제 2 프로세서(2)가 모두 공유메모리(3)에 접속하여 데이타를 억세스하지만, 어느 하나의 프로세서가 공유메모리를 이용하고 있으면 다른 프로세서는 공유메모리(3)에 억세스하지 못하도록 되어 있다.In the conventional method of using shared memory, both the first processor 1 and the second processor 2 access the shared memory 3 to access data, but when one processor uses the shared memory, the other processor is shared. The memory 3 cannot be accessed.
예를들어, 제 1 프로세서(1)가 공유메모리(3)에 접속하여 데이타를 억세스하고 있으며, 이때 제 2 프로세서(2)는 공유메모리(3)에 접속하지 못하고, 상기 제 1 프로세서(1)가 데이타 억세스 동작을 모두 마칠때까지 기다려야만 하는 것이다.For example, the first processor 1 accesses the shared memory 3 to access data, and the second processor 2 cannot access the shared memory 3, and the first processor 1 does not access the data. Must wait for the data access operation to complete.
즉, 종래의 공유메모리 사용방법은 복수의 프로세서가 하나의 공유메모리를 이용한다는 것일뿐 각각의 프로세서가 실시간으로 동시에 공유메모리를 사용할 수는 없다.In other words, the conventional shared memory usage method is that a plurality of processors use one shared memory, and each processor cannot use the shared memory in real time at the same time.
종래의 공유메모리 사용방법을 이용하게되면, 복수의 프로세서가 공유메모리를 동시에 사용할 수 없으므로 실시단 데이타 처리에 장애가되고 있으며, 복수의 프로세서가 동시에 공유메모리에 접속할 경우 부하가 걸려 데이타 로스가 발생하는 문제점이 있었다.When using a conventional shared memory method, a plurality of processors can not use the shared memory at the same time, which is a problem in the real-time data processing, the data loss occurs when a plurality of processors are connected to the shared memory at the same time There was this.
따라서, 상기 문제점을 해결하기 위한 본 발명은 공유메모리를 제 1 프로세서가 데이타 억세스하고 있는 상태에서 제 2 프로세서가 제 1 프로세서가 억세스한 공유메모리의 번지를 체킹하고, 그 체킹된 영역만큼의 데이타를 카피하여 분리한 후 처리하도록 하므로서, 공유메모리를 제 1 프로세서가 사용하고 있을때에도 제 2 프로세서가 공유메모리에 저장된 데이타를 실시간 처리할 수있도록 하여 프로세서간의 데이타 처리속도를 한층 더 향상시킬 수 있도록 한 다중 프로세서의 공유메모리 실시간 공유 사용방법을 제공함을 목적으로 한다.Accordingly, in order to solve the above problem, the present invention checks the address of the shared memory accessed by the first processor while the first processor accesses the shared memory, and checks the data of the checked area. By copying, separating, and processing, the second processor can process the data stored in the shared memory in real time even when the first processor is using the shared memory, thereby further improving the data processing speed between processors. It is an object of the present invention to provide a method of real-time sharing of a shared memory of a processor.
상기 목적달성을 위한 본 발명의 특징은,Features of the present invention for achieving the above object,
하나의 공유메모리를 복수의 프로세서가 실시간으로 공유하는 방법에 있어서,In a method in which a plurality of processors share a shared memory in real time,
VME버스를 통해 제 1 프로세서가 공유메모리에 접속하여 데이타 억세스하는 제 1 단계와;A first step in which the first processor accesses the shared memory via the VME bus and accesses data;
제 1 프로세서가 공유메모리를 사용하는 상태에서 제 2 프로세서의 공유메모리 사용 요구가 발생하면 메모리포인터가 현재 제 1 프로세서가 억세스 완료한 공유메모리의 번지를 체킹하는 제 2 단계와;A second step of checking, by the memory pointer, the address of the shared memory currently accessed by the first processor when a request for using the shared memory of the second processor occurs while the first processor uses the shared memory;
메모리 포인터에 의해 체킹된 공유메모리의 번지 까지 데이타를 카피하여 제 2 프로세서의 버퍼에 저장하는 제 3 단계와;Copying the data up to the address of the shared memory checked by the memory pointer and storing the data in a buffer of the second processor;
버퍼에 저장된 데이타를 분리(Parsing)한 후 처리하는 제 4 단계와;A fourth step of parsing and processing the data stored in the buffer;
상기 제 2 내지 제 4 단계의 데이타 처리과정을 수행한 후 제 2 프로세서가 다시 공유메모리의 사용을 요구하면, 메모리포인터는 상기 카피된 번지 이후에 제 1 프로세서가 억세스 완료한 공유메모리 번지를 체킹하는 제 5 단계와;If the second processor requests the use of the shared memory again after performing the data processing of the second to fourth steps, the memory pointer checks the shared memory address that is accessed by the first processor after the copied address. A fifth step;
제 5 단계에서 체킹된 번지의 데이타를 카피하여 제 2 프로세서의 버퍼에 저장하고, 저장된 데이타를 분리한 후 처리하는 제 6 단계; 로 진행되는 것을 특징으로 한다.A sixth step of copying the data of the address checked in the fifth step and storing the data in the buffer of the second processor, separating the stored data, and then processing the data; It characterized in that proceeds to.
도 1 은 종래의 공유메모리 실시간 공유방법을 설명하기위한 도면.1 is a view for explaining a conventional shared memory real-time sharing method.
도 2 는 본 발명의 다중 프로세서의 공유메모리 실시간 공유사용방법의 구현을 위한 하드웨어적 구성을 보인 도면.2 is a diagram illustrating a hardware configuration for implementing a shared memory real-time shared use method of a multiprocessor of the present invention.
도 3 은 본 발명의 공유메모리 실시간 공유 사용방법을 보인 플로우챠트.Figure 3 is a flow chart illustrating a shared memory real-time sharing method of the present invention.
도 4 는 본 발명의 다른 실시예를 보인 도면.4 is a view showing another embodiment of the present invention.
도면의 주요부분에 대한부호의 설명Explanation of symbols on the main parts of the drawings
10: 제 1 프로세서, 11: 제 2 프로세서,10: first processor, 11: second processor,
12: 공유메모리, 13: 메모리 포인터,12: shared memory, 13: memory pointer,
이하, 첨부된 도면 도 2 내지 도 4 를 참조하여 본 발명의 바람직한 실시예를 설명하면 다음과 같다.Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings, FIGS. 2 to 4.
도 2 는 본 발명의 구현을 위한 하드웨어적 구성을 도시한 것으로서,2 illustrates a hardware configuration for implementing the present invention.
제 1 프로세서(10)와 제 2 프로세서(11)가 VME버스를 통해 공유메모리(12)에 연결되어 있고, 제 2 프로세서(11)에는 제 1 프로세서(10)가 공유메모리(12)에 접속하여 데이타를 억세스하는 메모리번지를 체킹하는 메모리포인터(13)가 접속되어 있다.The first processor 10 and the second processor 11 are connected to the shared memory 12 through the VME bus, and the first processor 10 is connected to the shared memory 12 through the VME bus. A memory pointer 13 for checking a memory address for accessing data is connected.
상기 제 1 프로세서(10)는 VME버스를 통해 공유메모리(12)에 접속하여 계속해서 데이타를 억세스한다.The first processor 10 continuously accesses the data by accessing the shared memory 12 through the VME bus.
상기와같이 제 1 프로세서(10)가 공유메모리(12)에 데이타를 억세스할때 종래의 방법으로는 제 2 프로세서가 공유메모리를 사용할 수 없다.As described above, when the first processor 10 accesses data in the shared memory 12, the second processor cannot use the shared memory in the conventional method.
하지만, 본 발명에의하면 상기 제 1 프로세서(10)가 공유메모리(12)를 사용하고 있더라도 제 2 프로세서(11)가 공유메모리의 데이타를 처리할 수 있게되며, 그 과정을 설명하면 다음과 같다.However, according to the present invention, even if the first processor 10 uses the shared memory 12, the second processor 11 can process data in the shared memory, and the process will be described below.
상기 설명과같이 제 1 프로세서(10)가 공유메모리(12)에 데이타 억세스하고 있을때 제 2 프로세서(11)에서 공유메모리의 사용을 요구하면, 메모리포인터(13)가 현재 제 1 프로세서(10)가 억세스중인 공유메모리(12)의 번지를 체킹한다.As described above, when the second processor 11 requests the use of the shared memory when the first processor 10 is accessing the data in the shared memory 12, the memory pointer 13 is currently present. The address of the shared memory 12 being accessed is checked.
상기 메모리포인터(13)는 제 1 프로세서(10)가 공유메모리(12)를 사용할때 계속해서 제 1 프로세서(10)의 데이타 억세스 번지를 체킹하게 된다.The memory pointer 13 checks the data access address of the first processor 10 when the first processor 10 uses the shared memory 12.
제 2 프로세서(11)는 메모리포인터(13)가 체킹한 공유메모리(12)의 사용번지를 인식 한 후 제 1 프로세서(10)가 이미 데이타 억세스를 완료한 메모리영역을 카피하여 자체 구성되어있는 버퍼에 저장한다.The second processor 11 recognizes a use address of the shared memory 12 checked by the memory pointer 13, and then copies the memory area in which the first processor 10 has already completed data access. Store in
그리고, 버퍼에 저장된 데이타를 일단 분리한 후 데이타가 버퍼에 저장된 상태에서 처리한다.After the data stored in the buffer is separated, the data is processed in the buffer.
공유메모리(12)로부터 카피한 데이타를 모두 처리한 제 2 프로세서(11)가 다시 공유메모리(12)의 사용을 요구하면, 메모리포인터(13)는 그때까지 제 1 프로세서(10)가 데이타 억세스 완료한 번지를 제 2 프로세서(11)에 알려주고, 상기 제 2 프로세서(11)는 이전에 카피한 메모리 영역 이후부터 새로 체킹된 번지까지의 데이타를 카피하여 자체 버퍼에 저장한다.When the second processor 11 which has processed all the data copied from the shared memory 12 requests the use of the shared memory 12 again, the memory pointer 13 has completed the data access until the first processor 10 is finished. One address is provided to the second processor 11, and the second processor 11 copies the data from the previously copied memory area to the newly checked address and stores the data in its own buffer.
그리고, 버퍼에 새로 저장된 데이타를 분리한 후 데이타 처리하게되는 것이다.Then, the data stored in the buffer is separated and processed.
상기 설명과같이 본 발명에 의하면, 공유메모리(12)를 제 1 프로세서(10)가 사용하고 있을 경우라 하더라도 제 2 프로세서(11)가 제 1 프로세서(10)가 데이타 억세스 완료한 부분의 데이타를 공유메모리(12)로부터 카피하여 분리 후 처리하게 됨에 따라 제 1 프로세서(10)와 제 2 프로세서(11)가 동시에 실시간으로 공유메모리(12)를 사용할 수 있게되는 것이다.As described above, according to the present invention, even when the first processor 10 is using the shared memory 12, the second processor 11 may store data of a portion where the first processor 10 has completed data access. As it is processed after being separated from the shared memory 12 and processed, the first processor 10 and the second processor 11 can simultaneously use the shared memory 12 in real time.
한편, 도 4 는 본 발명의 다른 실시예를 도시한 것으로서,On the other hand, Figure 4 shows another embodiment of the present invention,
다수의 센서(21)들로부터 감지 공급되는 데이타들을 수집하여 공유메모리(23)에 실시간으로 가공 처리하는 제 1 프로세서(20)가 공유메모리(23)에 접속되어 있고, 유저 인터페이스(24)를 조작하는 사용자의 요구에 따라 상기 공유메모리(23)에 저장되어있는 정보들을 처리하여 사용자에게 출력해주는 제 2 프로세서(22)가 공유메모리(23)에 연결되어있는 구성이다.A first processor 20 which collects and senses data supplied from a plurality of sensors 21 and processes them in real time in the shared memory 23 is connected to the shared memory 23, and manipulates the user interface 24. The second processor 22 is connected to the shared memory 23 for processing and storing information stored in the shared memory 23 according to a user's request.
상기 제 2 프로세서(22)는 카피된 데이타의 저장을 위한 버퍼를 포함하며, 또 제 1 프로세서(20)가 공유메모리(23)에 억세스하는 데이타 번지를 체킹하는 메모리 포인터를 구비하고 있다.The second processor 22 includes a buffer for storing the copied data, and has a memory pointer for checking the data address where the first processor 20 accesses the shared memory 23.
이와같은 경우에도 제 1 프로세서(20)는 각각의 센서(21)들로부터 공급되는 정보들을 가공 처리하여 공유메모리(23)에 억세스하게되는데,Even in this case, the first processor 20 processes the information supplied from the respective sensors 21 to access the shared memory 23.
이상태에서 사용자의 요구에 따라 제 2 프로세서(21)의 메모리포인터가 현재 제 1 프로세서(20)가 공유메모리(23)에 억세스하는 데이타 번지를 체킹하고, 제 2 프로세서(21)는 체킹된 번지 까지의 데이타를 카피하여 자체 버퍼에 저장하여 분리한 후 데이타 처리하고, 그 처리된 데이타를 유저인터페이스(24)로 공급하여 사용자가 데이타 처리된 결과를 볼 수 있도록 하는 것이다.In this state, the memory pointer of the second processor 21 checks the data address currently accessed by the first processor 20 to the shared memory 23 according to the user's request, and the second processor 21 up to the checked address. The data is copied, stored in its own buffer, separated, processed, and the processed data is supplied to the user interface 24 so that the user can see the results of the data processing.
상기 설명과같은 다른 실시예의 경우에도 제 1 프로세서(20)와 제 2 프로세서(22)가 실시간으로 공유메모리(23)에 저장되어있는 데이타를 이용할 수 있음을 알 수 있다.In other embodiments as described above, it can be seen that the first processor 20 and the second processor 22 can use data stored in the shared memory 23 in real time.
이상에서 설명한 바와같이 본 발명은 공유메모리를 제 1 프로세서가 데이타 억세스하고 있는 상태에서 제 2 프로세서가 제 1 프로세서가 억세스한 공유메모리의 번지를 체킹하고, 그 체킹된 영역만큼의 데이타를 카피하여 분리한 후 처리하도록 하므로서, 공유메모리를 제 1 프로세서가 사용하고 있을때에도 제 2 프로세서가 공유메모리에 저장된 데이타를 실시간 처리할 수있도록 하여 프로세서간의 데이타 처리속도를 한층 더 향상시킬 수 있도록 한 다중 프로세서의 공유메모리 실시간 공유 사용방법을 제공하는 효과를 기대할 수 있다.As described above, in the present invention, in the state where the first processor accesses the shared memory, the second processor checks the address of the shared memory accessed by the first processor, and copies and separates the data corresponding to the checked area. The multiprocessor allows the second processor to process the data stored in the shared memory in real time even when the first processor is using the shared memory. The effect of providing a memory real-time sharing method can be expected.
Claims (1)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010003967A KR20020063365A (en) | 2001-01-29 | 2001-01-29 | Real time memory management method of multi processor system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010003967A KR20020063365A (en) | 2001-01-29 | 2001-01-29 | Real time memory management method of multi processor system |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20020063365A true KR20020063365A (en) | 2002-08-03 |
Family
ID=27692578
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010003967A KR20020063365A (en) | 2001-01-29 | 2001-01-29 | Real time memory management method of multi processor system |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20020063365A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100748191B1 (en) * | 2006-04-06 | 2007-08-09 | 엠텍비젼 주식회사 | Device having shared memory and method for providing access status information by shared memory |
-
2001
- 2001-01-29 KR KR1020010003967A patent/KR20020063365A/en not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100748191B1 (en) * | 2006-04-06 | 2007-08-09 | 엠텍비젼 주식회사 | Device having shared memory and method for providing access status information by shared memory |
WO2007114676A1 (en) * | 2006-04-06 | 2007-10-11 | Mtekvision Co., Ltd. | Device having shared memory and method for providing access status information by shared memory |
US8145852B2 (en) | 2006-04-06 | 2012-03-27 | Mtekvision Co., Ltd. | Device having shared memory and method for providing access status information by shared memory |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7484043B2 (en) | Multiprocessor system with dynamic cache coherency regions | |
US7469321B2 (en) | Software process migration between coherency regions without cache purges | |
US6470380B1 (en) | Signal processing device accessible as memory | |
RU2380743C1 (en) | Method and device for clearing semaphore reservation | |
US5233701A (en) | System for managing interprocessor common memory | |
CN1437727A (en) | Read lock miss control in a multithreaded environment | |
US20030088744A1 (en) | Architecture with shared memory | |
US6253290B1 (en) | Multiprocessor system capable of circumventing write monitoring of cache memories | |
US6952761B2 (en) | Bus interface selection by page table attributes | |
US20050172104A1 (en) | Method for transferring data in a multiprocessor system, multiprocessor system and processor carrying out this method | |
US6094710A (en) | Method and system for increasing system memory bandwidth within a symmetric multiprocessor data-processing system | |
US5668975A (en) | Method of requesting data by interlacing critical and non-critical data words of multiple data requests and apparatus therefor | |
JPH07152647A (en) | Shared memory multiprocessor | |
JP2591502B2 (en) | Information processing system and its bus arbitration system | |
WO2001016760A1 (en) | Switchable shared-memory cluster | |
US5727179A (en) | Memory access method using intermediate addresses | |
JP4734348B2 (en) | Asynchronous remote procedure call method, asynchronous remote procedure call program and recording medium in shared memory multiprocessor | |
KR20020063365A (en) | Real time memory management method of multi processor system | |
JPH08292932A (en) | Multiprocessor system and method for executing task in the same | |
JPH08212178A (en) | Parallel computer | |
JPS593774A (en) | Access processing system | |
US5062046A (en) | Multiple processor system having a correspondence table for transferring processing control between instruction processors | |
KR100978083B1 (en) | Procedure calling method in shared memory multiprocessor and computer-redable recording medium recorded procedure calling program | |
JPH08329019A (en) | Data management system of semaphore | |
US20050071574A1 (en) | Architecture with shared memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WITN | Withdrawal due to no request for examination |