KR20090054780A - 다중 프로세서를 구비한 시스템 온 칩 시스템 내의프로세서간 통신 장치 및 방법 - Google Patents
다중 프로세서를 구비한 시스템 온 칩 시스템 내의프로세서간 통신 장치 및 방법 Download PDFInfo
- Publication number
- KR20090054780A KR20090054780A KR1020070121634A KR20070121634A KR20090054780A KR 20090054780 A KR20090054780 A KR 20090054780A KR 1020070121634 A KR1020070121634 A KR 1020070121634A KR 20070121634 A KR20070121634 A KR 20070121634A KR 20090054780 A KR20090054780 A KR 20090054780A
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- data
- destination
- source
- control information
- 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/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
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Multi Processors (AREA)
Abstract
본 발명은 다중 프로세서를 구비하는 시스템 온 칩(SoC) 시스템 내의 프로세서간 통신 장치 및 방법에 관한 것이다.
본 발명에 따른 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치는, 데이터를 전송하고자 하는 출발지 프로세서에 할당되어 상기 출발지 프로세서로부터 전달되는 제어 정보를 저장하는 출발지 제어부와, 상기 데이터가 전송될 목적지 프로세서에 할당되어 상기 목적지 프로세서로부터 전달되는 제어 정보를 저장하는 목적지 제어부와, 상기 출발지 제어부 및 상기 목적지 제어부에 저장된 상기 제어 정보에 근거하여 상기 출발지 프로세서의 메모리로부터 상기 목적지 프로세서의 메모리로 상기 데이터를 전송하는 데이터 전송부와, 데이터 전송 준비가 완료됨을 상기 목적지 프로세서에 알려주고 데이터 전송이 완료됨을 상기 출발지 프로세서 및 상기 목적지 프로세서에게 알려주기 위한 인터럽트를 생성하는 인터럽트 생성부를 포함한다.
다중 프로세서를 구비한 시스템 온 칩(Multiple System on Chip: MPSoC), DMC(Direct Memory Access, IPC(Inter Processor Communication)
Description
본 발명은 다중 프로세서를 구비한 시스템 온 칩(Multi Processor Sytem on Chip:MPSoC) 시스템 내의 프로세서간 통신 장치 및 방법에 관한 것이다. 구체적으로는, MPSoC 시스템 내의 프로세서들 간의 빈번한 데이터 통신에 따른 시스템 효율성 저하를 막고 고속으로 데이터를 전송하기 위해, DMA(Direct Memory Access) 기능에 IPC(Inter Processor Communication) 기능을 유기적으로 결합시킴으로써 프로세서들간의 통신 효율성을 향상시키는 프로세서간 통신 장치 및 방법에 관한 것이다.
본 연구는 정보통신부 및 정보통신연구진흥원의 IT 성장동력기술개발 사업의 일환으로 수행하였다. [2007-S026-01, MPcore 플랫폼 기반 모바일 멀티미디어 SoC]
종래에는 하나의 시스템 혹은 칩 내부에 하나의 프로세서가 들어 있었지만 근래에는 두 개 이상의 동종 또는 이종의 프로세서를 사용하는 다중 프로세서 시스템의 사용이 늘어나고 있는 추세이다. 특히, 배터리를 주 전력으로 사용하는 시스 템(모바일 또는 포터블 시스템등)에서는 전력소비를 낮추기 위하여 낮은 클럭 및 낮은 전압으로 동작하는 프로세서를 여러 개 사용하여 전력소비를 낮추고 성능을 높이는 연구가 활발히 진행되고 있다.
다중 프로세서 시스템이 보편화 되면서 각 프로세서간의 동기화 및 간단한 메시지부터 대용량의 데이터 전송을 위한 프로세서간 통신이 필요하게 되었으며, 프로세서간 통신의 효율성이 시스템의 효율성을 나타내는 지표가 되고 있다.
종래의 기술을 사용한 SoC 에서 가장 효율적인 데이터 전송 방식은 DMA를 사용하는 것이며, 가장 효율적인 통신 방식은 크로스 인터럽트 기능을 사용하는 IPC 기능이다. 대용량의 데이터 전송이 요구되는 시스템에는 반드시 DMA가 포함되어 있으며, 다중 프로세서 시스템일 경우는 크로스 인터럽트를 이용하는 IPC 기능이 포함되어 있다.
도 1은 종래 기술에 따른 다중 프로세서를 구비한 시스템 온 칩 (MPSoC) 시스템의 구성도를 도시한다. 도시된 바와 같이, 프로세서 1 및 2(102,110) 각각에 연관된 인터럽트 제어부(IC 1(101),IC 2(109)), 로컬 버스(103,111), 로컬 메모리 영역(104,112) 및 DMA 제어기(DMA 1(105), DMA 2(108))가 구비되며, 프로세서들간에 공유하는 공유메모리 영역(107)은 별도로 존재한다.
이와 같은 구성에서, 프로세서 1(102)이 프로세서 2(110)로 데이터를 전송하고자 할 경우, 프로세서 1(102)은 자신에 연관된 로컬 메모리 영역(104)에 있는 데이터를 DMA 1(105)을 이용하여 공유 메모리 영역(107)으로 복사하고 복사한 위치와 복사량 등의 정보를 프로세서 2(110)에게 IPC(106) 인터럽트를 통해 전달한다. 그 러면, 프로세서 2(110)는 공유 메모리 영역(107)으로부터 자신에 연관된 로컬 메모리(112)로 DMA 2(108)를 이용하여 복사한 다음, 프로세서 1(102)에게 IPC(106) 인터럽트를 통해 복사가 끝났음을 알려 준다. 복사가 끝났음을 통지 받은 프로세서 1(102)은 공유 메모리 영역(107)을 다시 사용할 수 있게 된다.
모든 프로세서가 공유 메모리 영역(107)을 통해 데이터를 전달하므로 공유 메모리에 대한 대역폭이 많이 요구되며, 공유 메모리를 관리하기 위해 세마포어와 같은 자원 관리 기법을 사용해야 하는 등의 부가적인 프로세서의 자원 할당이 필요하고 공유 메모리 사용에 제약을 받아야 하며 1 번의 데이터 전달을 위해 2번의 데이터 복사를 수행하여야 하므로 시스템의 성능이 저하되는 문제점이 있었다.
또한, 이와 같은 데이터 전송 과정에서 프로세서 1(102)에서는 DMA 복사가 끝났음을 알려주는 인터럽트 1 회, 프로세서 2(110)에게 정보 전달이 끝났음을 알려주는 IPC 인터럽트 1 회, 프로세서 2(110)로 정보가 전달되었다는 인터럽트가 1 회, 총 3 회의 인터럽트가 발생한다. 프로세서 2(110)에서도 DMA 인터럽트가 1 회, IPC 인터럽트 2회, 총 3회의 인터럽트가 발생하게 된다. 대부분의 프로세서에는 병렬처리 지원을 멀티 프로세스(Process) 혹 멀티 스레드(thread)를 지원하는 OS를 사용하는데 인터럽트가 자주 걸릴 경우 프로세스 또는 스레드의 실행을 모두 저장하고 다시 복원하는 과정을 거치므로 많은 프로세서 자원을 낭비하게 되어 효율성이 떨어지게 되는 문제점이 있다.
상기의 공유 메모리를 이용한 데이터 전송 방법에서 2번의 복사가 이루어지는 단점을 보완하기 위해 통신을 위한 두 프로세서간의 전용 메모리를 사용하여 출 발지에서 목적지로 한번의 데이터 복사만으로 데이터를 전송한다고 하여도 데이터의 동기화 및 데이터 버퍼 관리를 위한 프로세서 사이의 통신(IPC)가 증가하게 되어 여전히 시스템의 성능 저하를 유발하게 된다.
그러므로 이와 같은 문제점을 해결하기 위하여, 다중 프로세서를 구비하는 SoC 시스템 내의 프로세서들 사이의 빈번한 데이터 전송 및 통신에 따른 시스템의 효율성 저하를 막고 고속으로 데이터를 전송하기 위한 새로운 프로세서간 데이터 통신 장치 및 방법이 필요하다.
따라서, 본 발명의 목적은 다중 프로세서를 구비하는 SoC 시스템 내의 프로세서들 사이의 빈번한 데이터 교환 및 통신에 따른 시스템의 효율성 저하를 막고, 대용량 데이터를 고속으로 전송하기 위한 프로세서간 통신 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 공유 메모리 관리에 필요한 프로세서의 자원 낭비를 막고 프로세서간의 동기화를 위한 IPC 회수를 감소시킴으로써 시스템의 효율성을 높이는 프로세서간 통신 장치 및 방법을 제공함에 있다.
전술한 목적 달성을 위해, 본 발명의 일 특징에 따른 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치는, 데이터를 전송하고자 하는 출발지 프로세서에 할당되어 상기 출발지 프로세서로부터 전달되는 제어 정보를 저장하는 출발지 제어부와, 상기 데이터가 전송될 목적지 프로세서에 할당되어 상기 목적지 프로세서로부터 전달되는 제어 정보를 저장하는 목적지 제어부와, 상기 출발지 제어부 및 상기 목적지 제어부에 저장된 상기 제어 정보에 근거하여 상기 출발지 프로세서의 메모리로부터 상기 목적지 프로세서의 메모리로 상기 데이터를 전송하는 데이터 전송부와, 데이터 전송 준비가 완료됨을 상기 목적지 프로세서에 알려주고 데이터 전송이 완료됨을 상기 출발지 프로세서 및 상기 목적지 프로세서에게 알려주기 위한 인터럽트를 생성하는 인터럽트 생성부를 포함한다.
본 발명의 제2 특징에 따른 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 방법은, 데이터를 전송하고자 하는 출발지 프로세서와 데이터가 전송될 목적지 프로세서간에 프로세서간 통신 초기화를 수행하는 단계와, 상기 출발지 프로세서로부터 전송될 데이터의 출발지 주소 및 크기를 포함하는 제어 정보를 수신 및 저장하는 단계와, 데이터 전송 준비가 완료됨을 상기 목적지 프로세서에 인터럽트를 통해 알려주는 단계와, 상기 목적지 프로세서로부터 상기 데이터가 저장될 목적지 주소를 포함하는 제어 정보를 수신 및 저장하는 단계와, 상기 출발지 주소로부터 상기 목적지 주소로 상기 데이터를 복사하는 단계와, 상기 데이터 복사가 완료된 후에 상기 출발지 프로세서 및 상기 목적지 프로세서에게 상기 복사가 완료되었음을 인터럽트를 통해 알려주는 단계를 포함한다.
전술한 본 발명에 따르면, 다중 프로세서를 구비하는 SoC 시스템 내의 프로세서간 통신을 수행함에 있어서, 프로세서들 사이의 빈번한 데이터 교환 및 통신에 따른 시스템의 효율성 저하를 막고, 대용량 데이터를 고속으로 전송할 수 있다. 단일 프로세서 환경에 익숙한 개발자가 사용하던 시스템 콜을 사용하여 다중 프로세서간 통신을 지원하므로 단일 프로세서 환경에서 개발된 프로그램의 재사용이 가능하여 개발 시간이 단축될 수 있다.
이하에서는 본 발명을 첨부된 도면에 도시된 실시예들과 관련하여 예시적으로 상세히 설명하겠다. 그러나, 이하의 상세한 설명은 단지 예시적인 목적으로 제 공되는 것이며 본 발명의 개념을 임의의 특정된 물리적 구성에 한정하는 것으로 해석되어서는 안 될 것이다.
도 2는 본 발명에 따른 장치가 적용되는 다중 프로세서를 구비하는 SoC(MPSoC) 시스템의 일예를 도시한 블록도이다. 도 2에 도시된 바와 같이, 상기 시스템상의 프로세서(202,203)는 인터럽트 제어부(201, 206), 로컬 메모리 영역(204, 209) 및 로컬 버스(203,208)를 각각 구비하고 있으며, 상기 시스템은 본 발명에 따른 프로세서간 통신 장치(205)를 구비한다.
이하에서 설명하겠지만, 본 발명에 따른 프로세서간 통신 장치(205)는 DMA 기능과 IPC 기능을 유기적으로 결합함으로써 프로세서들 사이의 빈번한 데이터 통신에 따른 시스템의 효율성 저하를 막고, 대용량 데이터를 고속으로 전송하는 것을 가능케 한다. 또한, 본 발명에 따른 프로세서간 통신 장치(205)를 이용함으로써, 서로 독립된 로컬 메모리 영역을 구비하는 프로세서간에 공유 메모리를 사용하지 않고 데이터 전송이 가능하게 된다.
도 3은 본 발명에 따른 프로세서간 통신 장치(205)의 구성을 도시한 블록도이다. 도시된 바와 같이, 프로세서간 통신 장치(205)는 슬레이브 버스 연결부(slave bus interface. 301)와, 1개 이상의 쌍으로 이루어진 출발지 제어부 및 목적지 제어부(302, 306)와, 데이터 전송부(303), 마스터 버스 연결부(master bus interface, 304)와, 인터럽트 생성부(305)를 포함한다.
슬레이브 버스 연결부(301)는 각 프로세서에 결합하여 출발지를 제어하는 프로세서(이하, "출발지 프로세서") 및 목적지를 제어하는 프로세서("목적지 프로세 서")의 제어 정보를 목적지 제어부 및 출발부 제어부(302, 306)에 전달한다.
출발지 제어부 및 목적지 제어부(302, 306)는 출발지 프로세서 및 목적지 프로세서 각각에 할당되어 이들로부터 전달되는 제어 정보를 각각 저장한다. 일실시예에서, 출발지 프로세서로부터 전달되는 제어 정보는, 출발지 프로세서 번호, 목적지 정보(예를 들면, 목적지 프로세서 번호) 등 프로세서간 통신에 계속 사용되는 공통적인 정보와, 출발지 프로세서에서 전송될 데이터의 주소 및 크기를 포함하고, 목적지 프로세서로부터 전달되는 제어 정보는 데이터가 저장될 목적지 주소를 포함한다.
일 실시예에서, 본 발명에 따른 프로세서간 통신 장치(205)는 N:N 통신을 지원하기 위하여 여러 쌍의 출발지/목적지 제어부를 가지며 각 제어부는 한 프로세서의 제어를 받고 있을 때는 다른 프로세서의 제어를 허용하지 않는다.
출발지 제어부 및 목적지 제어부(302, 306)는 표준화된 System V IPC 시스템 콜 또는 기타 OS가 지원하는 유사 시스템 콜을 지원하기 위한 정보를 저장한다.
또한, 출발지 제어부(302)는 상기 출발지 프로세서로부터 전송될 데이터 크기가 일정 크기 이하일 경우에는 상기 데이터를 직접 저장하기 위한 저장소를 더 포함할 수 있다.
마스터 버스 연결부(304)는 출발지 프로세서의 로컬 버스와 목적지 프로세서의 로컬 버스를 연결함으로써 출발지 프로세서로부터 목적지 프로세서로 데이터 전송이 가능하도록 한다. 일 실시예에서, N:N 통신을 지원하기 위해 복수 개의 마스터 버스 연결부(304)가 존재한다.
데이터 전송부(303)는 출발지 제어부 및 목적지 제어부(302, 306)에 저장된 제어 정보에 근거하여 출발지 프로세서의 메모리에 저장된 데이터를 목적지 프로세서의 메모리에 전송한다. 일실시예에서, 데이터 전송부(303)는 M 쌍의 출발지 프로세서 및 목적지 프로세서간의 통신을 수행하기 위해 M 개의 통신 채널로 이루어진다.
인터럽트 생성부(305)는 데이터 전송 준비 완료를 목적지 프로세서에게 알려주기 위한 인터럽트와 데이터 전송 완료를 출발지와 목적지 프로세서에게 알려주기 위한 인터럽트를 생성한다.
도 4는 본 발명의 일실시예에 따른 프로세서간 통신 과정을 도시한 도면이다. 본 발명의 이해를 돕기 위해, 도 2에 도시된 프로세서 1(202)에서 프로세서 2(207)로 데이터를 전송한다고 가정하면, 프로세서 1(202)이 출발지 프로세서이고 프로세서 2(207)가 목적지 프로세서에 해당한다.
우선, 제 1 과정에서, 프로세서간 통신을 시작하기 전에 프로세서 1(202)과 프로세서 2(207)는 프로세서간 통신(IPC) 초기화(403,404)를 수행한다. 일실시예에서, 초기화 과정은 하나 또는 그 이상의 시스템 콜을 이용해서 이루어지며, 프로세서간 통신 장치(205) 초기화 및 상대 프로세서와의 통신채널을 설정한다.
통신 채널 설정 과정에서 프로세서 1(202)은 프로세서간 통신장치(205) 내부에 존재하는 여러 개의 출발지 제어부 중의 하나를 할당 받으며, 프로세서 2(207)는 여러 개의 목적지 제어부 중 하나를 할당 받아 각 제어부의 정보 저장소에 프로세서간 통신에 필요한 공통적인 정보를 저장한다. 공통적인 정보에는 출발지 프로 세서 번호, 목적지 프로세서 번호 등 한 번의 저장으로 계속 사용되는 정보를 포함한다. 또한, 하나의 통신 채널에 할당된 출발지 제어부와 목적지 제어부는 하나의 집합으로 관리된다.
제 2과정에서, 프로세서 1(202)에서 프로세서 2(207)로 전송할 데이터가 발생하면, 프로세서 1(202)은 데이터 송신 시스템 콜(Send_Data system call, 405)을 호출함으로써 프로세서간 통신장치의 출발지 제어부의 정보 저장소에 프로세서간 통신에 필요한 제어 정보를 프로세서간 통신 장치(205)에 전달하고, 상기 프로세서간 통신 장치(205)는 상기 전달받은 제어 정보를 상기 출발지 프로세서에 연관된 출발지 제어부의 정보 저장소에 저장한다(407). 제어 정보에는 DMA 기능을 통해 전송될 데이터의 주소 및 크기 등을 포함한다. 대안적인 실시예에서, 전송될 데이터의 크기가 일정 크기 이하일 경우에는 출발지 제어부의 정보 저장소에 데이터를 직접 저장하여 전송하는 기능을 포함할 수 있다. 프로세서 2는 데이터 수신 시스템 콜(Get_data system call, 406)을 호출하여 데이터 수신 대기 상태에 있게 된다.
제 3과정에서, 프로세서간 통신장치(205)는 프로세서 2(207)에게 인터럽트(408)를 통해서 데이터를 전송할 준비가 완료되었음을 알린다.
제 4과정에서, 데이터를 전송할 준비가 완료되었음을 인지한 프로세서 2(207)는 자신이 할당받은 목적지 제어부와 하나의 쌍으로 관리되는 출발지 제어부로부터 제어 정보를 판독하여 전송될 데이터의 종류를 확인하고 데이터가 저장될 주소를 포함하는 제어 정보를 프로세서간 통신 장치(205)에 전달한다. 프로세서간 통신 장치(205)는 목적지 제어부의 정보 저장소에 상기 전달받은 제어 정보를 저장 한다(409). 한편, 제 2 과정에서 전송될 데이터 크기가 일정 크기 이하여서 출발지 제어부의 정보 저장소에 직접 저장된 경우에는 출발지 제어부의 정보 저장소로부터 데이터를 판독함으로써 데이터 복사가 완료되고 제 5과정은 생략될 것이다.
제 5과정에서, 프로세서간 통신 장치(205)의 데이터 전송부(303)는 출발지 제어부(302)와 목적지 제어부(206)에 저장된 제어 정보에 근거하여 출발지 주소에서 목적지 주소로 데이터를 복사한다(410).
제 6과정에서, 프로세서간 통신장치(205)는 데이터 복사가 완료되는 시점에서 프로세서 1(202)과 프로세서 2(207)에게 인터럽트(411)를 통해서 데이터 복사가 완료되었음을 알린다.
제 7과정에서, 데이터 복사가 완료되었음을 인지한 프로세서 1(202)은 데이터 송신 시스템 콜에서 복귀함으로써 데이터 송신이 완료된다(412). 또한 프로세서 2(207)는 데이터 수신 시스템 콜에서 복귀함으로써 데이터 수신이 완료된다(413).
전술한 과정에서 데이터 송신 시스템 콜 및 데이터 수신 시스템 콜을 호출한 응용프로그램은 데이터 전송이 완료되어 시스템 콜에서 복귀하는 시점까지 대기 상태에 있게 되며 시스템 콜이 수행되는 동안 프로세서 1(202)과 프로세서 2(207)는 다른 응용프로그램을 실행할 수 있다.
이상에서, 특정 실시예와 관련하여 본 발명을 설명하였으나, 본 발명은 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니고, 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서, 여러 치환, 변형 및 변경이 가능하다는 것이 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 있어 명백할 것이다.
도 1은 종래 기술에 따른 다중 프로세서를 구비한 시스템 온 칩 (MPSoC) 시스템의 구성도를 도시한다.
도 2는 본 발명에 따른 프로세서간 통신 장치가 적용되는 MPSoC 시스템을 도시한 블록도이다.
도 3은 본 발명의 일실시예에 따른 프로세서간 통신 장치(205)의 구성을 도시한 블록도이다.
도 4는 본 발명의 일실시예에 따른 프로세서간 통신 과정을 도시한 도면이다.
Claims (16)
- 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치에 있어서, 상기 장치는,데이터를 전송하고자 하는 출발지 프로세서에 할당되어 상기 출발지 프로세서로부터 전달되는 제어 정보를 저장하는 출발지 제어부와,상기 데이터가 전송될 목적지 프로세서에 할당되어 상기 목적지 프로세서로부터 전달되는 제어 정보를 저장하는 목적지 제어부와,상기 출발지 제어부 및 상기 목적지 제어부에 저장된 상기 제어 정보에 근거하여 상기 출발지 프로세서의 메모리로부터 상기 목적지 프로세서의 메모리로 상기 데이터를 전송하는 데이터 전송부와,데이터 전송 준비가 완료됨을 상기 목적지 프로세서에 알려주고 데이터 전송이 완료됨을 상기 출발지 프로세서 및 상기 목적지 프로세서에게 알려주기 위한 인터럽트를 생성하는 인터럽트 생성부를 포함하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치.
- 제1항에 있어서, 상기 출발지 프로세서로부터 전달되는 제어 정보는 출발지 프로세서 번호, 상기 출발지 프로세서로부터 전송될 데이터의 주소 및 크기를 포함하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치.
- 제1항에 있어서, 상기 목적지 프로세서로부터 전달되는 제어 정보는 상기 데이터가 저장될 목적지 주소를 포함하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치.
- 제1항에 있어서, 상기 출발지 프로세서 및 상기 목적지 프로세서로부터 각각의 제어 정보를 수신하도록 상기 프로세서들에 결합되는 슬레이브 버스 연결부를 더 포함하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치.
- 제1항에 있어서, 상기 출발지 주소에서 상기 목적지 주소로 데이터 전송이 가능하도록 상기 출발지 프로세서의 로컬 버스와 상기 목적지 프로세서의 로컬 버스를 연결하기 위한 마스터 버스 연결부를 더 포함하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치.
- 제1항에 있어서, 상기 장치는 복수개 쌍의 출발지 제어부 및 목적지 제어부를 포함하고, 상기 데이터 전송부는 상기 복수개 쌍의 출발지 및 목적지 제어부에 연관되는 복수개의 통신 채널을 포함하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치.
- 제1항에 있어서, 상기 출발지 제어부 및 상기 목적지 제어부는 하나의 프로세서에 의해 제어되는 동안에는 다른 프로세서의 제어를 허용하지 않는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치.
- 제1항에 있어서, 상기 출발지 제어부 및 목적지 제어부는 System V IPC 시스템 콜을 지원하기 위한 정보를 저장하는 저장부를 더 포함하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치.
- 제1항에 있어서, 상기 출발지 제어부는 상기 출발지 프로세서로부터 전송될 데이터 크기가 일정 크기 이하일 경우에 상기 데이터를 저장하기 위한 저장소를 더 포함하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 장치.
- 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 방법에 있어서, 상기 방법은,데이터를 전송하고자 하는 출발지 프로세서와 데이터가 전송될 목적지 프로세서간에 프로세서간 통신 초기화를 수행하는 단계와,상기 출발지 프로세서로부터 전송될 데이터의 출발지 주소 및 크기를 포함하는 제어 정보를 수신 및 저장하는 단계와,데이터 전송 준비가 완료됨을 상기 목적지 프로세서에 인터럽트를 통해 알려 주는 단계와,상기 목적지 프로세서로부터 상기 데이터가 저장될 목적지 주소를 포함하는 제어 정보를 수신 및 저장하는 단계와,상기 출발지 주소로부터 상기 목적지 주소로 상기 데이터를 복사하는 단계와,상기 데이터 복사가 완료된 후에 상기 출발지 프로세서 및 상기 목적지 프로세서에게 상기 복사가 완료되었음을 인터럽트를 통해 알려주는 단계를 포함하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 방법.
- 제10항에 있어서, 상기 프로세서간 통신 초기화를 수행하는 단계는 하나 이상의 시스템 콜을 통해 이루어지며, 출발지 프로세서 및 목적지 프로세서간의 통신 채널을 설정하는 단계를 포함하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 방법.
- 제10항에 있어서, 상기 출발지 프로세서는 데이터 송신 시스템 콜(Send_Data system call)을 호출함으로써 상기 제어 정보를 전달하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 방법.
- 제10항에 있어서, 상기 목적지 프로세서는 데이터 수신 시스템 콜(Get_Data system call)을 호출함으로써 상기 제어 정보를 전달하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 방법.
- 제11항 내지 제13항중 어느 하나의 항에 있어서, 상기 프로세서에 의해 호출되는 시스템 콜은 System V IPC 시스템 콜인 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 방법.
- 제12항에 있어서, 상기 출발지 프로세서가 상기 인터럽트를 통해 복사가 완료되었음을 인지하면 상기 데이터 송신 시스템 콜에서 복귀하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 방법.
- 제13항에 있어서, 상기 목적지 프로세서가 상기 인터럽트를 통해 복사가 완료되었음을 인지하면 상기 데이터 수신 시스템 콜에서 복귀하는 다중 프로세서를 구비한 시스템 온 칩 시스템 내의 프로세서간 통신 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070121634A KR100921504B1 (ko) | 2007-11-27 | 2007-11-27 | 다중 프로세서를 구비한 시스템 온 칩 시스템 내의프로세서간 통신 장치 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020070121634A KR100921504B1 (ko) | 2007-11-27 | 2007-11-27 | 다중 프로세서를 구비한 시스템 온 칩 시스템 내의프로세서간 통신 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20090054780A true KR20090054780A (ko) | 2009-06-01 |
KR100921504B1 KR100921504B1 (ko) | 2009-10-13 |
Family
ID=40986669
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020070121634A KR100921504B1 (ko) | 2007-11-27 | 2007-11-27 | 다중 프로세서를 구비한 시스템 온 칩 시스템 내의프로세서간 통신 장치 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100921504B1 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2471481A (en) * | 2009-06-30 | 2011-01-05 | Nokia Corp | Data path establishment for client initiated source to sink data transfer |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101685407B1 (ko) | 2010-07-29 | 2016-12-13 | 삼성전자주식회사 | 멀티코어 시스템을 위한 다이렉트 메모리 억세스 장치 및 다이렉트 메모리 억세스 장치의 동작 방법 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050080704A (ko) * | 2004-02-10 | 2005-08-17 | 삼성전자주식회사 | 프로세서간 데이터 전송 장치 및 방법 |
KR100772841B1 (ko) | 2006-07-28 | 2007-11-02 | 삼성전자주식회사 | 프로세서들간 호스트 인터페이싱 기능을 갖는 멀티패쓰억세스블 반도체 메모리 장치 |
-
2007
- 2007-11-27 KR KR1020070121634A patent/KR100921504B1/ko active IP Right Grant
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2471481A (en) * | 2009-06-30 | 2011-01-05 | Nokia Corp | Data path establishment for client initiated source to sink data transfer |
Also Published As
Publication number | Publication date |
---|---|
KR100921504B1 (ko) | 2009-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20090271796A1 (en) | Information processing system and task execution control method | |
US7895260B2 (en) | Processing data access requests among a plurality of compute nodes | |
EP3086228B1 (en) | Resource processing method, operating system, and device | |
US8850081B2 (en) | Method, system and apparatus for handling events for partitions in a socket with sub-socket partitioning | |
CN107278299A (zh) | 经由可重配置的虚拟交换机实现次级总线功能性的方法、装置和系统 | |
CN105492989B (zh) | 用于管理对时钟进行的门控的装置、系统、方法和机器可读介质 | |
CN1522402A (zh) | 多处理器系统及运行多处理器系统的方法 | |
US20140115270A1 (en) | Multi processor bridge with mixed endian mode support | |
JP2014504416A (ja) | 組み合わせたcpu/gpuアーキテクチャシステムにおけるデバイスの発見およびトポロジーのレポーティング | |
ATE232313T1 (de) | Unterbrechungsarchitektur für ein rechnersystem mit nichtuniformem speicherzugriff | |
CN101132336A (zh) | 异构多核处理器高速异步互连通信网络 | |
CN115203142A (zh) | 一种多核核间实时通信系统及方法 | |
CN101364212A (zh) | 访问存储器单元的方法及装置 | |
CN110825690B (zh) | 多核处理器的核间通信方法及装置 | |
CN101840390A (zh) | 适用于多处理器系统的硬件同步电路结构及其实现方法 | |
CN108064377A (zh) | 一种多系统共享内存的管理方法及装置 | |
WO2012016472A1 (zh) | 多核CPU加载Linux操作系统的方法及系统 | |
CN116541227B (zh) | 故障诊断方法、装置、存储介质、电子装置及bmc芯片 | |
CN102063337B (zh) | 多处理器核的信息交互和资源分配的方法及系统 | |
CN103282888A (zh) | 数据处理方法、图像处理器gpu及第一节点设备 | |
KR100921504B1 (ko) | 다중 프로세서를 구비한 시스템 온 칩 시스템 내의프로세서간 통신 장치 및 방법 | |
US9690619B2 (en) | Thread processing method and thread processing system for setting for each thread priority level of access right to access shared memory | |
CN114546654A (zh) | 一种不同架构之间cpu调用的方法、装置及互联设备 | |
KR20130104958A (ko) | 다중 운영체제들을 실행하는 장치 및 방법 | |
KR101435772B1 (ko) | Gpu 가상화 시스템 |
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: 20120919 Year of fee payment: 19 |