KR100693601B1 - 멀티 프로세서간 데이터 통신장치와 그 방법 - Google Patents

멀티 프로세서간 데이터 통신장치와 그 방법 Download PDF

Info

Publication number
KR100693601B1
KR100693601B1 KR1020050125895A KR20050125895A KR100693601B1 KR 100693601 B1 KR100693601 B1 KR 100693601B1 KR 1020050125895 A KR1020050125895 A KR 1020050125895A KR 20050125895 A KR20050125895 A KR 20050125895A KR 100693601 B1 KR100693601 B1 KR 100693601B1
Authority
KR
South Korea
Prior art keywords
message
queue
transmission
registered
task
Prior art date
Application number
KR1020050125895A
Other languages
English (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 KR1020050125895A priority Critical patent/KR100693601B1/ko
Application granted granted Critical
Publication of KR100693601B1 publication Critical patent/KR100693601B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

본 발명은 멀티 프로세서를 구비하는 이동 통신 단말기에 관한 것으로, 특히 멀티 프로세서간 데이터 통신을 위한 장치와 그 방법에 관한 것이다. 본 발명의 실시예에 따른 데이터 통신장치는,
태스크 요청 메세지를 등록하기 위한 메세지 송신큐와; 슬레이브측으로 전송한 메세지 정보를 등록하기 위한 전송 메세지 등록큐와; 슬레이브측으로부터 리드한 응답 메세지를 등록하기 위한 응답 메세지 등록큐와; 인터럽트 신호가 입력되면 슬레이브측 메모리에 기록된 메세지를 리드하여 상기 응답메세지 등록큐에 등록하기 위한 인터럽트 핸들러와; 태스크로부터 요청된 메세지를 상기 메세지 송신큐에 등록하고, 그 등록 메세지 전송시 그 전송 메세지 관련정보를 상기 전송 메세지 등록큐에 등록하되, 그 전송 메세지에 대한 응답 메세지가 상기 응답 메세지 등록큐에 등록되면 그 메세지를 읽어 가도록 해당 태스크를 웨이크업 시키는 마스터측 메세지 처리 태스크;를 포함함을 특징으로 한다.
마스터, 슬레이브, 멀티 프로세서.

Description

멀티 프로세서간 데이터 통신장치와 그 방법{APPARATUS AND METHOD FOR TRANSCEIVING A DATA BETWEEN THE PROCESSORS}
도 1은 마스터-슬레이브 방식의 시스템 구성 예시도.
도 2는 본 발명의 실시예에 따른 멀티 프로세서 데이터 통신장치의 구성 예시도.
도 3은 본 발명의 실시예에 따른 멀티 프로세서 데이터 통신장치의 동작을 설명하기 위한 도면.
도 4는 본 발명의 실시예에 따른 응답 메세지 등록큐의 관리방법을 설명하기 위한 도면.
본 발명은 멀티 프로세서를 구비하는 이동 통신 단말기에 관한 것으로, 특히 멀티 프로세서간 데이터 통신을 위한 장치와 그 방법에 관한 것이다.
다수의 프로세서, 즉 멀티 프로세서를 채용하는 시스템은 하나의 프로세서가 메인 프로그램을 실행하고 다른 프로세서는 부가 기능 지원 혹은 함수적인 기능으로만 작용하는 마스터-슬레이브 시스템으로 구성되어 있는 경우가 많다. 이러한 마 스터-슬레이브 방식의 시스템의 일예를 도 1에 도시하였다.
도 1을 참조하면 마스터 CPU(11)에 슬레이브 CPU(12)가 DPRAM(Dual Ported Random Access Memory(13)을 통하여 연결되어 있다. DPRAM은 양방향 참조 및 기록이 가능하고, 또한 양방향으로 인터럽트 신호를 송신해 주는 기능을 가지고 있다.
이러한 마스터-슬레이브 방식의 시스템에서 각 프로세서는 여러 응용 태스크(task)로부터 생성된 메세지 패킷을 서로 주고 받으며 상호 협력적으로 메세지 처리한다. 그러나 기존 시스템에서는 단일 큐(queue) 전송방식에 의거하여 메세지를 송수신하기 때문에, 메세지를 전송받기 원하는 어떤 태스크가 존재하는 경우 나머지 태스크는 새로운 메세지를 전송하지 못하며, 반대로 하나의 태스크가 메세지를 전송한 경우에 다른 태스크는 메세지를 전송할 수 없어 결국 병목현상이 발생되어 전체적인 시스템 성능저하를 가져온다.
이에 본 발명의 목적은 상술한 문제점을 해결하기 위하여 창안된 것으로서, 멀티 프로세서 상호간에 병목현상 없이 원활하게 통신이 이루어지도록 하여 시스템 성능을 향상시킬 수 있는 멀티 프로세서간 데이터 통신장치 및 그 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 일실시예에 따른 멀티 프로세서간 데이터 통신장치는,
태스크 요청 메세지를 등록하기 위한 메세지 송신큐와;
슬레이브측으로 전송한 메세지 정보를 등록하기 위한 전송 메세지 등록큐와;
슬레이브측으로부터 리드한 응답 메세지를 등록하기 위한 응답 메세지 등록큐와;
인터럽트 신호가 입력되면 슬레이브측 메모리에 기록된 메세지를 리드하여 상기 응답메세지 등록큐에 등록하기 위한 인터럽트 핸들러와;
태스크로부터 요청된 메세지를 상기 메세지 송신큐에 등록하고, 그 등록 메세지 전송시 그 전송 메세지 관련정보를 상기 전송 메세지 등록큐에 등록하되, 그 전송 메세지에 대한 응답 메세지가 상기 응답 메세지 등록큐에 등록되면 그 메세지를 읽어 가도록 해당 태스크를 웨이크업 시키는 마스터측 메세지 처리 태스크;를 포함함을 특징으로 한다.
더 나아가 상기 인터럽트 핸들러를 통해 전송받은 슬레이브측 요구 메세지를 처리하기 위한 슬레이브측 메세지 처리 태스크를 더 포함함을 특징으로 한다.
상술한 특징에 따르면, 본 발명은 메세지 송신큐와 전송 메세지 등록큐 및 응답 메세지 등록큐를 별도 운용함으로서, 프로세서 상호간에 병목현상 없이 원활하게 통신이 이루어질 수 있게 되는 것이다.
더 나아가 상기 마스터측 메세지 처리 태스크는 응답 메세지 등록큐에 등록된 최상위 응답 메세지가 전송 메세지 등록큐에 등록된 최상위 메세지와 불일치하면 그 전송 메세지 관련정보를 전송 메세지 등록큐 최하위에 재등록함으로서, 슬레이브측에서 응답 메세지 처리가 지연되는 경우라 하더라도 먼저 수신된 응답 메세지를 해당 태스크로 우선 전달함으로서, 프로세서 상호간에 병목현상 없이 원활하 게 통신이 이루어질 수 있게 되는 것이다.
이하 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명하기로 한다. 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그에 대한 상세한 설명은 생략하기로 한다.
도 2는 본 발명의 실시예에 따른 멀티 프로세서 데이터 통신장치의 구성을 예시한 것으로, 본 발명의 실시예에 따른 멀티 프로세서 데이터 통신장치는 멀티미디어 프로세서와 같은 슬레이브 프로세서(30)와 통신 가능한 이동 통신 단말기의 MSM(Mobile Station Modem)내에 구축된다.
본 발명의 실시예에 따른 멀티 프로세서 데이터 통신장치는 도 2에 도시한 바와 같이 크게,
태스크(task) 요청 메세지를 등록하기 위한 메세지 송신큐(23)와 , 슬레이브 프로세서(30)측으로 전송한 메세지에 대한 정보(포트번호, 커맨드 번호 등)를 등록하기 위한 전송 메세지 등록큐(24)와, 슬레이브 프로세서(30)측으로부터 리드한 응답 메세지를 등록하기 위한 응답 메세지 등록큐(25)와, 슬레이브 프로세서(30)로부터 인터럽트 신호가 입력되면 슬레이브측 메모리(31)에 기록된 메세지를 리드하여 상기 응답 메세지 등록큐(25)에 등록하기 위한 인터럽트 핸들러(Interrupt Handler)(26)를 포함한다.
그리고 각종 응용 태스크(21)로부터 요청된 메세지를 상기 메세지 송신큐(23)에 등록하고, 그 등록 메세지 전송시 그 전송 메세지 관련정보를 상기 전송 메 세지 등록큐(24)에 등록하되, 그 전송 메세지에 대한 응답 메세지가 상기 응답 메세지 등록큐(24)에 등록되면 그 메세지를 읽어 가도록 해당 태스크를 웨이크업 시키는 마스터측 메세지 처리 태스크(22)를 더 포함한다.
더 나아가 본 발명의 실시예에 따른 멀티 프로세서 데이터 통신장치는 상기 인터럽트 핸들러(26)를 통해 전송받은 슬레이브측 요구 메세지를 처리하기 위한 슬레이브측 메세지 처리 태스크(27)를 더 포함한다. 상기 슬레이브측 메세지 처리 태스크(27)에 의해 처리된 메세지는 마스터측 메세지 처리 태스크(22)를 통해 메세지 송신큐(23)에 등록된후 슬레이브측(30)으로 전달된다.
참고적으로 상기 마스터측 메세지 처리 태스크(22)는 응답 메세지 등록큐(25)에 등록된 최상위 응답 메세지가 전송 메세지 등록큐(24)에 등록된 최상위 메세지와 불일치하면 그 전송 메세지 관련정보를 전송 메세지 등록큐(24) 최하위에 재등록함으로서, 슬레이브측(30)에서 응답 메세지 처리가 지연되는 경우라 하더라도 먼저 수신된 응답 메세지를 해당 태스크로 우선 전달되도록 한다.
이하 상술한 구성을 가지는 데이터 통신장치의 동작을 도 3과 도 4를 참조하여 설명하면 다음과 같다.
도 3은 본 발명의 실시예에 따른 멀티 프로세서 데이터 통신장치의 동작을 설명하기 위한 도면을 도시한 것이며, 도 4는 본 발명의 실시예에 따른 응답 메세지 등록큐(25)의 관리방법을 설명하기 위한 도면을 도시한 것이다.
도 3을 참조하면, 우선 응용 태스크(21)로부터 메세지 전송 요청이 있으면 마스터측 메세지 처리 태스크(22)는 해당 태스크 요청 메세지를 메세지 송신큐(23) 에 등록(S1)한다. 마스터측 메세지 처리 태스크(22)는 등록 메세지를 슬레이브(30)측 DPRAM(31)에 기록하고 인터럽트 신호를 발생(S2)한다. 그리고 마스터측 메세지 처리 태스크(22)는 슬레이브측(30)으로 전송한 메세지 정보(포트번호, 커맨드 번호 등)를 전송 메세지 등록큐(24)에 등록(S3)한다.
한편 인터럽트 발생에 따라 슬레이브측(30) 커넬에서는 DPRAM(31)에서 해당 태스크 요청 메세지를 읽어 들여 응용(APP) 프로그램이 처리하도록 전달(S4)한다. 이에 응용(APP) 프로그램은 해당 태스크 요청 메세지를 처리(S5)하고 그 결과 메세지를 전송하여 줄 것을 커널로 요청한다. 이에 커널은 응용 프로그램으로부터 전달받은 메세지를 DPRAM(31)에 기록하고 마스터인 MSM(20)측으로 인터럽트를 발생(S6)시킨다.
슬레이브측(30)에서 발생된 인터럽트 신호는 GPIO핀을 통해 MSM(20)내의 인터럽트 핸들러(26)를 웨이크업(S7) 시킨다. 웨이크업된 인터럽트 핸들러(26)는 DPRAM(31)에서 해당 메세지(응답 메세지 혹은 특정 서비스 요청 메세지일 수 있다)을 읽어 온다. 만약 읽어 온 메세지가 태스크 요청에 따른 응답 메세지이면 이를 응답 메세지 등록큐(25)에 등록(S8)하고, 특정 서비스 요청 메세지이면 슬레이브측 메세지 처리 태스크(27)로 전달한다. 메세지 종류를 판단하는 방법으로는 태스크 요청 메세지 전송시 이용한 정보, 즉 포트번호, 커맨드 번호의 비교를 통해 구현 가능하다.
만약 DPRAM(31)에서 읽어 온 메세지가 특정 서비스를 요청하는 메세지라면 그 메세지는 슬레이브측 메세지 처리 태스크(27)에 의해 처리되고, 그 처리된 메세 지는 마스터측 메세지 처리 태스크(22)를 통해 메세지 송신큐(23)에 등록된후 슬레이브측(30)으로 전달된다.
만약 인터럽트 핸들러(26)에 의해 응답 메세지 등록큐(25)에 응답 메세지가 등록된다면, 마스터측 메세지 처리 태스크(22)는 응답 메세지 등록큐(25)에 등록된 메세지를 읽어 가도록 해당 태스크를 웨이크업(S9) 시킨다. 일예로서, 마스터측 메세지 처리 태스크(22)는 응답 메세지 등록큐(25)에 등록된 최상위 응답 메세지에 포함된 포트번호, 커맨드 번호가 전송 메세지 등록큐(24)에 등록된 최상위 메세지에 포함된 정보와 일치하면 그 메세지 응답을 기다리는 태스크를 웨이크 업시킨다. 그러나 슬레이브측(30)에서 메세지 처리시간 지연 등으로 인해 상기 응답 메세지 등록큐(25)에 등록된 최상위 응답 메세지와 전송 메세지 등록큐(24)에 등록된 최상위 메세지 정보가 불일치할 수도 있다. 이러한 경우 무작정 해당 응답 메세지가 전송되기를 기다린다면 병목현상이 발생하게 된다. 이를 위해 본 발명의 실시예에 따른 마스터측 메세지 처리 태스크(22)는 응답 메세지 등록큐(25)에 등록된 최상위 응답 메세지가 전송 메세지 등록큐(24)에 등록된 최상위 메세지와 불일치하면, 그 전송 메세지 관련정보를 전송 메세지 등록큐(24) 최하위에 재등록하여 불필요한 병목현상을 방지한다.
이를 도 4를 참조하여 부연 설명하면, 도 4에서 좌측은 전송 메세지 등록큐(24)에 등록된 메세지를 그리고 우측은 응답 메세지 등록큐(25)에 등록된 메세지를 나타낸 것으로 가정한다. 이러한 가정에 따르면, (a)에서는 양 메세지 정보(A, A')가 일치하기 때문에 마스터측 메세지 처리 태스크(22)는 해당 응용 태스크가 메세 지(A')를 읽어 가도록 한다. 그러나 (b)에서는 양 메세지 정보(B, C')가 서로 불일치하기 때문에 마스터측 메세지 처리 태스크(22)는 전송 메세지 등록큐(24)에 등록된 메세지 정보 B를 (c)와 같이 최하위 위치인 C 후위에 재등록한다.
따라서 먼저 응답 수신된 메세지 C'가 해당 응용 태스크에 의해 읽혀 감으로서 양 프로세서간에는 병목 현상 없이 효율적으로 데이터 통신이 이루어질 수 있게 되는 것이다.
상술한 바와 같이 본 발명은 메세지 송신큐와 전송 메세지 등록큐 및 응답 메세지 등록큐를 별도 운용 관리함으로서, 프로세서 상호간에 병목현상 없이 원활하게 통신이 이루어질 수 있으며,
슬레이브측에서 응답 메세지 처리가 지연되는 경우라 하더라도 먼저 수신된 응답 메세지를 해당 태스크로 우선 전달되도록 함으로서, 프로세서 상호간에 병목현상 없이 원활하게 통신이 이루어질 수 있는 장점을 가진다.
한편 본 발명은 도면에 도시된 실시예들을 참고로 설명되었으나 이는 예시적인 것에 불과하며, 당해 기술분야에 통상의 지식을 지닌자라면 이로부터 다양한 변형 및 균등한 타실시예가 가능하다는 점을 이해할 것이다. 따라서 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해서만 정해져야 할 것이다.

Claims (6)

  1. 마스터와 하나 이상의 슬레이브가 데이터를 통신하는 멀티 프로세서간 데이터 통신장치에 있어서,
    태스크 요청 메세지를 등록하기 위한 메세지 송신큐와;
    슬레이브측으로 전송한 메세지 정보를 등록하기 위한 전송 메세지 등록큐와;
    슬레이브측으로부터 리드한 응답 메세지를 등록하기 위한 응답 메세지 등록큐와;
    인터럽트 신호가 입력되면 슬레이브측 메모리에 기록된 메세지를 리드하여 상기 응답메세지 등록큐에 등록하기 위한 인터럽트 핸들러와;
    태스크로부터 요청된 메세지를 상기 메세지 송신큐에 등록하고, 그 등록 메세지 전송시 그 전송 메세지 관련정보를 상기 전송 메세지 등록큐에 등록하되, 그 전송 메세지에 대한 응답 메세지가 상기 응답 메세지 등록큐에 등록되면 그 메세지를 읽어 가도록 해당 태스크를 웨이크업 시키는 마스터측 메세지 처리 태스크;를 포함함을 특징으로 하는 멀티 프로세서간 데이터 통신장치.
  2. 청구항 1에 있어서, 상기 인터럽트 핸들러를 통해 전송받은 슬레이브측 요구 메세지를 처리하기 위한 슬레이브측 메세지 처리 태스크;를 더 포함함을 특징으로 하는 멀티 프로세서간 데이터 통신장치.
  3. 청구항 1 또는 청구항 2에 있어서, 상기 마스터측 메세지 처리 태스크는,
    상기 응답 메세지 등록큐에 등록된 최상위 응답 메세지가 상기 전송 메세지 등록큐에 등록된 최상위 메세지와 불일치하면 그 전송 메세지 관련정보를 전송 메세지 등록큐 최하위에 재등록함을 특징으로 하는 멀티 프로세서간 데이터 통신장치.
  4. 청구항 1 또는 청구항 2에 있어서, 상기 큐들과 인터럽트 핸들러 및 메세지 처리 태스크들은 이동 통신 단말기의 MSM(Mobile Station Modem)내에 포함됨을 특징으로 하는 멀티 프로세서간 데이터 통신장치.
  5. 슬레이브 프로세서와 데이터를 통신하는 방법에 있어서,
    태스크 요청 메세지를 메세지 송신큐에 등록하는 단계와;
    상기 등록 메세지를 슬레이브측 메모리에 기록하고 인터럽트 신호를 발생하는 단계와;
    슬레이브측으로 전송한 메세지 정보를 전송 메세지 등록큐에 등록하는 단계와;
    슬레이브측 인터럽트에 의해 활성화된 인터럽트 핸들러가 상기 메모리로부터 읽어 와 응답 메세지 등록큐에 등록한 메세지를 읽어 가도록 해당 태스크를 웨이크업 시키는 단계;를 포함함을 특징으로 하는 멀티 프로세서간 데이터 통신방법.
  6. 청구항 5에 있어서, 상기 응답 메세지 등록큐에 등록된 최상위 응답 메세지가 상기 전송 메세지 등록큐에 등록된 최상위 메세지와 불일치하면 그 전송 메세지 관련정보를 전송 메세지 등록큐 최하위에 재등록하는 단계;를 더 포함함을 특징으로 하는 멀티 프로세서간 데이터 통신방법.
KR1020050125895A 2005-12-20 2005-12-20 멀티 프로세서간 데이터 통신장치와 그 방법 KR100693601B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020050125895A KR100693601B1 (ko) 2005-12-20 2005-12-20 멀티 프로세서간 데이터 통신장치와 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050125895A KR100693601B1 (ko) 2005-12-20 2005-12-20 멀티 프로세서간 데이터 통신장치와 그 방법

Publications (1)

Publication Number Publication Date
KR100693601B1 true KR100693601B1 (ko) 2007-03-14

Family

ID=38103309

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050125895A KR100693601B1 (ko) 2005-12-20 2005-12-20 멀티 프로세서간 데이터 통신장치와 그 방법

Country Status (1)

Country Link
KR (1) KR100693601B1 (ko)

Similar Documents

Publication Publication Date Title
CN108628684B (zh) 一种基于dpdk的报文处理方法及计算机设备
CN110402568B (zh) 一种通信的方法及装置
US6711643B2 (en) Method and apparatus for interrupt redirection for arm processors
US7257658B2 (en) Message based interrupt table
PL348253A1 (en) Interrupt architecture for a non-uniform memory access (numa) data processing system
US20090271796A1 (en) Information processing system and task execution control method
CN114595186B (zh) 一种多核处理器的核间通信方法、通信装置
US6910062B2 (en) Method and apparatus for transmitting packets within a symmetric multiprocessor system
CN111431757A (zh) 虚拟网络的流量采集方法及装置
KR101867336B1 (ko) 다중 프로세서를 지원하는 인터럽트 발생을 위한 장치 및 방법
CN115203142A (zh) 一种多核核间实时通信系统及方法
KR101087811B1 (ko) 캐시 라인 소유권 이전 방법 및 캐시 라인 소유권 이전 장치
CN1307569C (zh) 在多处理器环境下使用直接存储器存取的高速传递数据的方法和装置
US6789142B2 (en) Method, system, and program for handling interrupt requests
US8909873B2 (en) Traffic control method and apparatus of multiprocessor system
KR100693601B1 (ko) 멀티 프로세서간 데이터 통신장치와 그 방법
JP4856413B2 (ja) 演算処理装置、情報処理装置、及び演算処理装置の制御方法
CN111078618A (zh) 电子设备以及双处理器的通信方法
KR20050080704A (ko) 프로세서간 데이터 전송 장치 및 방법
US10372638B2 (en) Interconnect agent
KR100921504B1 (ko) 다중 프로세서를 구비한 시스템 온 칩 시스템 내의프로세서간 통신 장치 및 방법
Chen et al. Developing embedded kernel for system-on-a-chip platform of heterogeneous multiprocessor architecture
US20090089468A1 (en) Coherent input output device
CN219642231U (zh) 一种任务分发装置和基于任务分发装置的多核异构处理器
KR100198802B1 (ko) 노드간 엑센트네트를 통한 메시지 전송 제어 방법

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: 20130304

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140228

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150302

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160302

Year of fee payment: 10

LAPS Lapse due to unpaid annual fee