KR20000013078A - 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법 - Google Patents

다중 프로세서 시스템의 프로세서간 통신 장치 및 방법 Download PDF

Info

Publication number
KR20000013078A
KR20000013078A KR1019980031752A KR19980031752A KR20000013078A KR 20000013078 A KR20000013078 A KR 20000013078A KR 1019980031752 A KR1019980031752 A KR 1019980031752A KR 19980031752 A KR19980031752 A KR 19980031752A KR 20000013078 A KR20000013078 A KR 20000013078A
Authority
KR
South Korea
Prior art keywords
bus
processor
buffer
controller
data
Prior art date
Application number
KR1019980031752A
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 KR1019980031752A priority Critical patent/KR20000013078A/ko
Publication of KR20000013078A publication Critical patent/KR20000013078A/ko

Links

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Abstract

다중 프로세서 시스템의 프로세서간 통신 장치 및 방법에 대하여 개시한다. 본 장치는, 프로세서간 통신을 지원하는 다중 프로세서 시스템에 있어서, 프로세서로부터 버tm로 전송될 패킷을 임시저장하는 송신 버퍼와, 프로세서로 전송할 패킷을 임시 저장하는 수신 버퍼, 송신 버퍼로부터 패킷을 받아들이며 수신 버퍼로 패킷을 전달하고 프로세서와 제어 신호를 주고받는 버스 제어기, 버스 제어기로 클럭을 제공하는 버스 클럭 및 버스 제어기를 시스템의 백플레인으로 연결하는 버스 구동기를 포함한다. 버스 제어기는, 양방향성 프로세서간 통신 버스로부터 수신된 데이터를 저장하는 수신 제어 로직과, 양방향성 프로세서간 통신 버스로 전달될 데이터를 저장하는 송신 홀드 레지스터, 수신 버퍼로 전달될 데이터를 저장하는 수신 홀드 레지스터, 송신 버퍼로부터 수신된 데이터를 저장하는 송신 제어 로직 및 송신 제어 로직과 송신 홀드 레지스터, 수신 홀드 레지스터 및 송신 제어 로직을 제어하며, 프로세서와 인터럽트 및 제어 신호를 주고받는 프로세서 인터페이스 로직을 포함한다. 본 장치는 순수한 데이터 버스만을 사용하여 프로세서간 통신을 수행할 수 있으므로 하드웨어 자원을 효율적으로 사용할 수 있을 뿐만 아니라, 다양한 응용 기능을 지원할 수 있다.

Description

다중 프로세서 시스템의 프로세서간 통신 장치 및 방법
본 발명은 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법에 관한 것으로서, 특히 다중 프로세서를 포함하는 시스템에서 프로세서(Processor)간에 데이터 및 제어 신호들을 보다 쉽게 송수신하기 위하여 비동기 패킷 통신을 지원하는 버스를 구성하는 장치 및 방법에 관한 것이다.
다중 프로세서 시스템(Multi-Processor System)의 여러 프로세서들은 서로간의 통신을 위한 기능을 제공해야 한다. 통신 경로는 공유된 입/출력 채널을 통해 설립될 수 있다.
프로세서간의 통신을 위해서, 다중 프로세서 시스템은, 많은 어드레스 버스(Address Bus), 제어 버스(Arbitration Bus) 및 데이터 버스(Data Bus)를 필요로 한다. 또한 시스템은 이들 각 버스를 제어하고 구동(drive)하기 위해, 많은 버퍼와 주변 제어로직을 제공해야 한다. 또한 프로세서간 통신(Inter-Processor Communication: IPC)을 위한 신호가 많기 때문에, 규모가 큰(IPC 경로가 긴) 프로세서간 통신 시스템을 구성하는데 많은 어려움이 있다.
도 1 은 종래 기술에 의한 프로세서간 통신 방법을 나타낸 블럭도이다. 도시된 바와 같이, 하나의 프로세서(노드 1)(100)와 다른 프로세서(노드 2)(110) 간의 통신을 위해서는 데이터 버스(120)와, 어드레스 버스(130) 및 제어 신호를 위한 버스(140)가 필요하다.
상기된 바와 같이 프로세서간을 연결하는 다수의 버스를 구성하기 위해서는, 시스템 백플레인(Backplane)의 많은 면적을 프로세서간 통신을 위하여 할당해야 한다. 그러므로 프로세서간 통신 이외의 신호를 위한 공간이 부족해질 수 있으며, 시스템의 다른 모듈간의 정보전달을 위해서는 별도의 경로(케이블)를 설치해야 한다는 문제점이 발생한다.
본 발명은 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 것으로서, 버퍼를 통해 비동기 패킷 통신을 지원하는 데이터 버스를 구성하는, 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법을 제공하는 것을 목적으로 한다.
본 발명은, 프로세서 간을 연결하는 데이터 버스를 제어하는, 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법을 제공하는 것을 다른 목적으로 한다.
본 발명의 다른 목적과 장점은 하기된 발명의 상세한 설명을 읽고 첨부된 도면을 참조하면 보다 명백해질 것이다.
도 1 은 종래 기술에 의한 프로세서간 통신 방법을 나타낸 블럭도이다.
도 2 는 본 발명에 의한 프로세서간 통신 방법을 나타낸 블럭도이다.
도 3 은 본 발명에 의한 버스 제어장치의 구성도를 나타낸 것이다.
도 4 는 본 발명의 제어장치에 의한 패킷 데이터의 송신 방법 나타낸 블럭도이다.
도 5 는 본 발명의 제어장치에 의한 패킷 데이터의 송신 방법을 나타낸 블럭도이다.
도 6 은 본 발명의 제어장치의 동기를 나타낸 파형도이다.
도 7 은 본 발명에 의한 버스 제어기의 내부 구성도를 나타낸 것이다.
<도면의 주요 부분에 대한 부호의 설명>
100,110,150,160 : 노드
120,130,140,170 : 버스
210 : 송신 FIFO 220 : 수신 FIFO
230 : 버스 클럭 240 : 버스 제어기
250 : 버스 구동기 260 : 백플레인
300,310 : 프로세서 320 : DMA 제어기
330 : 메모리 400 : 비동기 버스
410 : 수신 제어 로직 420 : 송신 홀드 레지스터
430 : 프로세서 인터페이스 로직 440 : 수신 홀드 레지스터
450 : 송신 제어 로직
상기한 바와 같은 목적을 달성하기 위하여 창안된 본 발명에 따른 다중 프로세서 시스템의 프로세서간 통신 장치의 바람직한 실시예는, 프로세서간 통신을 지원하는 다중 프로세서 시스템에 있어서,
프로세서로부터 버스로 전송될 패킷을 임시저장하는 송신 버퍼;
프로세서로 전송할 패킷을 임시 저장하는 수신 버퍼;
상기 송신 버퍼로부터 패킷을 받아들이며 상기 수신 버퍼로 패킷을 전달하고 프로세서와 제어 신호를 주고받는 버스 제어기;
상기 버스 제어기로 클럭을 제공하는 버스 클럭 및
상기 버스 제어기를 시스템의 백플레인으로 연결하는 버스 구동기를 포함한다.
본 발명의 실시예에 있어서, 상기 버퍼는, 선입선출 메모리로 구성되는 것이 바람직하며,
상기 버스 제어기는, 양방향성 프로세서간 통신 버스로부터 수신된 데이터를 저장하는 수신 제어 로직;
양방향성 프로세서간 통신 버스로 전달될 데이터를 저장하는 송신 홀드 레지스터;
수신 버퍼로 전달될 데이터를 저장하는 수신 홀드 레지스터;
송신 버퍼로부터 수신된 데이터를 저장하는 송신 제어 로직; 및
상기 송신 제어 로직과 송신 홀드 레지스터, 수신 홀드 레지스터 및 송신 제어 로직을 제어하며, 프로세서와 인터럽트 및 제어 신호를 주고받는 프로세서 인터페이스 로직을 포함하는 것이 바람직하다.
본 발명에 따른 다중 프로세서 시스템의 프로세서간 통신 방법의 바람직한 실시예는, 프로세서간 통신을 지원하는 다중 프로세서 시스템에 있어서,
프로세서가 버스를 통해 송신할 데이터를 패킷화하는 단계;
프로세서가 패킷 데이터의 송신을 위해 직접 메모리 액세스 제어기를 초기화하는 단계;
직접 메모리 액세스 제어기가 버스의 송신 버퍼로 패킷 데이터를 전송하는 단계;
버퍼로 전송이 완료되면 직접 메모리 액세스 제어기가 버스 제어기에게 직접 메모리 액세스 완료 신호를 보내는 단계;
완료 신호를 받으면 버스 제어기가 버스 조정을 수행하는 단계;
버스 조정이 끝나면 버스 제어기가 송신 버퍼의 패킷 데이터를 버스로 전송하는 단계; 및
송신 버퍼가 엠티 상태가 되면 버스 제어기가 프로세서로 전송이 완료되었음을 알리는 인터럽트를 보내는 단계를 포함한다.
본 발명에 따른 다중 프로세서 시스템의 프로세서간 통신 방법의 바람직한 다른 실시예는, 프로세서간 통신을 지원하는 다중 프로세서 시스템에 있어서,
버스를 통해 데이터가 수신 버퍼로 수신되는 단계;
수신 버퍼가 엠티 상태가 아니면 버스 제어기가 프로세서의 직접 메모리 액세스 제어기로 수신 서비스를 요구하는 단계;
직접 메모리 액세스 제어기가 수신 서비스를 요구받으면 프로세서가 직접 메모리 액세스를 통해 수신 버퍼의 데이터를 읽어오는 단계;
수신 버퍼가 엠티 상태가 되면 버스 제어기가 메시지 종료(EOM) 신호를 직접 메모리 액세스 제어기로 보내는 단계; 및
직접 메모리 액세스 제어기가 메시지 종료 신호를 받으면 프로세서가 데이터 수신을 중단하는 단계를 포함한다.
본 발명의 다른 실시예에 있어서, 상기 통신 방법은, 버스를 통해 수신된 패킷을 송신 노드의 송신 주기에 맞추어 표본화하는 단계를 추가로 포함하는 것이 바람직하다.
하기에서 본 발명을 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 2 는 본 발명에 의한 프로세서간 통신 방법을 나타낸 블럭도이다. 도시된 바와 같이, 하나의 프로세서(노드 1)(150)와 다른 프로세서(노드 2)(160)는 데이터 버스(170)만을 사용하여 통신한다. 상기와 같은 구조를 사용하면서, 종래 기술과 같은 버스 효율을 얻기 위해서는 버스 제어장치가 필요하다. 본 발명은 송수신 버퍼를 사용하는 제어장치를 포함하는 비동기 버스(Asynchronous Bus: A-Bus)를 제공한다.
도 3 은 본 발명에 의한 버스 제어장치의 구성도를 나타낸 것이다. 도시된 바와 같이, 프로세서(300)와, 프로세서로부터 전송된 패킷을 임시저장(Buffering)하는 송신 선입선출 메모리(First Input First Output: FIFO)(210), 프로세서로 전송할 패킷을 임시 저장하는 수신 FIFO(220), 상기 송신 FIFO로부터 패킷을 받아들이며 상기 수신 FIFO로 패킷을 전달하고 프로세서와 제어 신호를 주고받는 버스 제어기(Bus Controller)(240), 상기 버스 제어기로 클럭을 제공하는 버스 클럭(Bus Clock)(230), 상기 버스 제어기를 비동기 버스(A-Bus)로 연결하는 버스 구동기(Bus Driver)(250) 및 상기 버스 구동기와 연결되는 시스템의 백플레인(260)으로 구성된다.
상기 제어장치는 버스 제어기(240)에 입력되는 버스 클럭에 따라 데이터를 송수신한다. 일반적으로 버스 클럭의 입력을 50MHz라고 하면, 버스 제어기는 내부적으로 12.5MHz의 클럭 속도(Clock Rate)를 가지고 바이트(byte) 단위의 디지털 데이터를 병렬로 전송한다. 제어장치의 주요 기능은 충돌 검출(Collision Detection)이다. 예를 들어, 제어장치는 프로세서와 주변 기능 모듈의 버스 사용을 조정하여 충돌을 방지한다. 상기 송/수신 FIFO(210)(220)는 송수신 패킷의 용량에 따른 크기를 가진다. 예를 들어 송신 FIFO는 1Kbyte, 수신 FIFO는 3Kbyte의 용량을 가지도록 설계된다. 제어장치는 프로세서의 직접 메모리 액세스(Direct Memory Access: DMA)를 이용하여 프로세서와 패킷을 송수신한다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대한 동작 원리를 상세히 설명한다. 먼저 프로세서의 송신 동작에 대하여 설명하면 다음과 같다. 도 4 는 본 발명의 제어장치에 의한 패킷 데이터의 송신 방법을 나타낸 블럭도이다. 프로세서(310)는 송신할 데이터의 맨 첫 바이트에 목적지 노드 값을 기록하여, 송신 패킷 형태로 구성한다. 프로세서는 구성된 송신 패킷 데이터를 메모리(330)에 저장한다.
프로세서(310)는 패킷 데이터를 목적지로 전송하기 위하여, 직접 메모리 액세스 제어기(DMA Controller)(320)를 초기화한다.(s301) 직접 메모리 액세스 제어기는 메모리에 저장된 패킷 데이터를 읽어서,(s302) 송신 FIFO(210)로 전송한다.(s304) 직접 메모리 엑세스 제어기가 데이터의 전송을 완료하면, 직접 메모리 액세스 제어기는 직접 메모리 액세스 완료(DMA done) 신호(전송 시작 신호)를 버스 제어기(240)로 전달한다.(s303)
그리고 나면, 버스 제어기는 프로세서의 개입없이, 송신 FIFO로부터 데이터를 읽어,(s306) 비동기 버스를 통해 목적지로 전송한다.(s307) 버스 제어기는 충돌없이 데이터를 전송하기 위하여 버스를 조정(arbitration)해야 한다. 버스의 조정이 완료되면 버스 제어기는 전송 권리를 가지게 되고, 송신 FIFO로부터 읽은 데이터를 목적지로 전송한다. 버스 조정에 실패하면, 버스 제어기는 임의의 지연 시간(random delay) 이후에 다시 시도한다. 지연시간은 FPGA(Field Programmable Gate Array)로 구현된다.
전송이 완료되어 송신 FIFO가 엠티(Empty) 상태가 되면, 버스 제어기는 전송이 완료되었음을 알리는 인터럽트 메시지를 프로세서에게 보낸다.(s305) 프로세서는 버스 제어기로부터 전송 완료 인터럽트를 받고, 버스 제어기가 또다른 데이터를 전송할 수 있음을 인지한다.
다음으로, 프로세서의 수신 동작에 대하여 설명하면 다음과 같다. 도 5 는 본 발명의 제어장치에 의한 패킷 데이터의 송신 방법을 나타낸 블럭도이다. 다른 프로세서로부터 수신 FIFO(220)에 데이터가 수신되기 시작하면,(s401) 버스 제어기(240)는 이를 감지하고,(s402) 프로세서(310)의 직접 메모리 액세스 제어기(320)에게로 수신 서비스를 요구한다.(s403) 그러면 프로세서는 패킷 데이터를 수신하기 위하여 직접 메모리 액세스 제어기를 초기화한다.
직접 메모리 액세스 제어기는 메모리를 제어하여, 수신 FIFO(220)로부터 읽어온 데이터를 메모리에 기록한다.(s405) 프로세서는 직접 메모리 액세스를 통해 데이터를 읽는다. 프로세서에서 직접 메모리 액세스 제어기를 통해 수신 FIFO의 데이터를 읽어가는 속도보다 수신 FIFO에 데이터가 기록되는 속도가 월등히 빠르기 때문에, 수신 FIFO는 수신된 데이터를 하나의 완전한 패킷으로 구성한 다음 직접 메모리 액세스 제어기로 알려야 할 필요가 없다.
다른 프로세서로부터 수신 FIFO로 마지막 데이터가 수신되면, 버스 제어기는 직접 메모리 액세스 제어기의 동작을 중지시키기 위하여, 메시지 종료(End Of Message: EOM) 신호를 직접 메모리 액세스 제어기로 보낸다.(s404) 직접 메모리 액세스 제어기는 EOM 신호를 수신하면 동작을 중단한다. 그러면 수신 상태는 보류(pending)되고, 직접 메모리 액세스 제어기는 프로세서에게 수신 인터럽트 신호를 보내어,(s408) 계속해서 다른 메시지를 수신할 수 있음을 통보한다.
제어장치 상의 각 노드는 각각 자체 클럭을 가지고 동작한다. 그러므로 패킷을 수신할 때는 송신 노드의 송신 클럭 주기에 맞추어 데이터를 표본화(sampling)해야 한다. 이를 위하여 유휴 상태(Idle State)의 버스는 '하이'(High) 상태를 유지하며, 패킷을 송신하기 전에는 일정 시간(예를 들어 2비트) 동안 '로우'(Low) 상태를 유지하여, 수신측에서 비트 동기를 이룰 수 있도록 한다. 또한 비트 시간의 가운데에서 데이터를 표본화하기 위해, 버스의 입력 클럭은 데이터의 전송속도(data rate)보다 적어도 2배 이상의 속도를 가져야 한다.
도 6 은 본 발명의 제어장치의 동기를 나타낸 파형도이다. (가)는 수신 데이터를 나타낸 것이고, (나)는 수신 표본화 클럭을 나타낸 것이며, (다)는 버스의 입력 클럭을 나타낸 것이다. 도시된 바와 같이, 버스의 입력 클럭은 데이터 전송속도의 2배이다.
버스에서 수신 상태가 보류되지 않더라도, 프로세서는 직접 메모리 액세스 제어기를 수신 동작 상태로 초기화한다. 이로 인해, 직접 메모리 액세스 제어기는, 프로세서의 제어가 없어도, 버스 제어기의 서비스 요구에 의해 수신 동작을 수행할 수 있다. 이 동작은 수신 FIFO의 모든 데이터가 읽혀질 때가지 계속된다. 버스 제어기(240)가 메시지를 수신하고 유휴 상태가 되어도, 서비스 요구는 계속 유지된다. 또한 수신 FIFO의 4kbyte 정보를 모두 읽을 때까지도 계속 유지된다. 상기 요구는 수신 FIFO가 엠티(Empty) 상태가 될 때까지 계속 유지되므로, 수신 동작도 수신 FIFO가 엠티 상태가 될 때까지 계속 수행된다.
버스 제어기는 송신 제어부, 수신 제어부 및 프로세서 인터페이스로 구성되며, 디지털 데이터의 송수신 기능을 제어하고 프로세서와의 인터페이스를 제어한다.
도 7 은 본 발명에 의한 버스 제어기의 내부 구성도를 나타낸 것이다. 도시된 바와 같이, 양방향성(Bi-Directional) 프로세서간 통신 버스(IPC Bus)(400)로부터 수신된 데이터를 저장하는 수신 제어 로직(410)과, 버스(400)로 전달될 데이터를 저장하는 송신 홀드 레지스터(Transmit Hold Register)(420), 수신 FIFO(220)로 전달될 데이터를 저장하는 수신 홀드 레지스터(Receive Hold Register)(440), 송신 FIFO(210)로부터 전달된 데이터를 저장하는 송신 제어 로직(450) 상기 송신 제어 로직과 송신 홀드 레지스터, 수신 홀드 레지스터 및 송신 제어 로직을 제어하며, 프로세서와 인터럽트 및 제어 신호를 주고받는 프로세서 인터페이스 로직(450)으로 구성된다.
본 발명에 의한 제어장치는 송신 홀드 레지스터에 저장된 값을 비동기 버스(A-Bus)로 전달하기 전에, 다른 노드가 버스 조정을 개시했는지를 확인한다. 버스 조정을 위하여, 제어장치는 조정 신호를 비동기 버스로 전달한다. 만일 다른 노드가 이미 버스 조정을 시작했다면, 제어장치는 다른 노드가 전달한 조정 신호를 수신하게 된다. 또한 다른 노드가 버스 조정을 시작하지 않았다면 제어장치는 자신이 전달한 조정 신호를 수신하게 된다.
제어장치는 수신된 조정 신호를 자신이 전달한 조정 값과 비교하여, 같으면 버스를 점유한 것으로 판단하고 데이터를 전송하기 시작한다. 제어장치는 수신된 조정 신호를 자신이 전달한 조정 값과 비교하여 다르면 임의의 지연 시간이 지난 이후에 다시 한번 조정 신호를 비동기 버스로 전달한다.
상기된 바와 같이, 본 발명에 의한 비동기 버스는, 각 프로세서간 노드가 비동기로 동작하면서 데이터를 송수신할 때만 동기를 맞추어 데이터를 송수신하도록 구성된다. 또한 데이터 송수신용 버퍼로 FIFO를 사용하며, 프로세서는 직접 메모리 액세스를 이용하여 송수신 데이터를 액세스한다.
본 발명은 다양하게 변형될 수 있고 여러 가지 형태를 취할 수 있으며 상기 발명의 상세한 설명에서는 그에 따른 특별한 실시예에 대해서만 기술하였다. 하지만 본 발명은 상기 발명의 상세한 설명에서 언급된 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 첨부된 청구범위에 의해 정의되는 본 발명의 정신과 범위 내에 있는 모든 변형물과 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.
상기한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발명중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.
본 발명에 의한 비동기 버스를 사용하여 프로세서간 통신을 수행하는 경우, 프로세서간 통신을 위한 별도의 제어 신호(어드레스 버스, 조정 신호 등)를 필요로 하지 않는다. 즉, 순수한 데이터 버스만을 사용하여 프로세서간 통신을 수행할 수 있다. 그러므로 하드웨어 자원을 효율적으로 사용할 수 있을 뿐만 아니라, 다양한 응용 기능을 지원할 수 있다.

Claims (6)

  1. 프로세서간 통신을 지원하는 다중 프로세서 시스템에 있어서,
    프로세서로부터 버스로 전송될 패킷을 임시저장하는 송신 버퍼;
    프로세서로 전송할 패킷을 임시 저장하는 수신 버퍼;
    상기 송신 버퍼로부터 패킷을 받아들이며 상기 수신 버퍼로 패킷을 전달하고 프로세서와 제어 신호를 주고받는 버스 제어기;
    상기 버스 제어기로 클럭을 제공하는 버스 클럭; 및
    상기 버스 제어기를 시스템의 백플레인으로 연결하는 버스 구동기를 포함하는, 다중 프로세서 시스템의 프로세서간 통신 장치.
  2. 제 1 항에 있어서, 상기 버퍼는, 선입선출 메모리로 구성되는, 다중 프로세서 시스템의 프로세서간 통신 장치.
  3. 제 1 항에 있어서, 상기 버스 제어기는,
    양방향성 프로세서간 통신 버스로부터 수신된 데이터를 저장하는 수신 제어 로직;
    양방향성 프로세서간 통신 버스로 전달될 데이터를 저장하는 송신 홀드 레지스터;
    수신 버퍼로 전달될 데이터를 저장하는 수신 홀드 레지스터;
    송신 버퍼로부터 수신된 데이터를 저장하는 송신 제어 로직; 및
    상기 송신 제어 로직과 송신 홀드 레지스터, 수신 홀드 레지스터 및 송신 제어 로직을 제어하며, 프로세서와 인터럽트 및 제어 신호를 주고받는 프로세서 인터페이스 로직을 포함하는, 다중 프로세서 시스템의 프로세서간 통신 장치.
  4. 프로세서간 통신을 지원하는 다중 프로세서 시스템에 있어서,
    프로세서가 버스를 통해 송신할 데이터를 패킷화하는 단계;
    프로세서가 패킷 데이터의 송신을 위해 직접 메모리 액세스 제어기를 초기화하는 단계;
    직접 메모리 액세스 제어기가 버스의 송신 버퍼로 패킷 데이터를 전송하는 단계;
    버퍼로 전송이 완료되면 직접 메모리 액세스 제어기가 버스 제어기에게 직접 메모리 액세스 완료 신호를 보내는 단계;
    완료 신호를 받으면 버스 제어기가 버스 조정을 수행하는 단계;
    버스 조정이 끝나면 버스 제어기가 송신 버퍼의 패킷 데이터를 버스로 전송하는 단계; 및
    송신 버퍼가 엠티 상태가 되면 버스 제어기가 프로세서로 전송이 완료되었음을 알리는 인터럽트를 보내는 단계를 포함하는, 다중 프로세서 시스템의 프로세서간 통신 방법.
  5. 프로세서간 통신을 지원하는 다중 프로세서 시스템에 있어서,
    버스를 통해 데이터가 수신 버퍼로 수신되는 단계;
    수신 버퍼가 엠티 상태가 아니면 버스 제어기가 프로세서의 직접 메모리 액세스 제어기로 수신 서비스를 요구하는 단계;
    직접 메모리 액세스 제어기가 수신 서비스를 요구받으면 프로세서가 직접 메모리 액세스를 통해 수신 버퍼의 데이터를 읽어오는 단계;
    수신 버퍼가 엠티 상태가 되면 버스 제어기가 메시지 종료(EOM) 신호를 직접 메모리 액세스 제어기로 보내는 단계; 및
    직접 메모리 액세스 제어기가 메시지 종료 신호를 받으면 프로세서가 데이터 수신을 중단하는 단계를 포함하는, 다중 프로세서 시스템의 프로세서간 통신 방법.
  6. 제 5 항에 있어서, 상기 통신 방법은,
    버스를 통해 수신된 패킷을 송신 노드의 송신 주기에 맞추어 표본화하는 단계를 추가로 포함하는, 다중 프로세서 시스템의 프로세서간 통신 방법.
KR1019980031752A 1998-08-04 1998-08-04 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법 KR20000013078A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019980031752A KR20000013078A (ko) 1998-08-04 1998-08-04 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019980031752A KR20000013078A (ko) 1998-08-04 1998-08-04 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법

Publications (1)

Publication Number Publication Date
KR20000013078A true KR20000013078A (ko) 2000-03-06

Family

ID=19546405

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980031752A KR20000013078A (ko) 1998-08-04 1998-08-04 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법

Country Status (1)

Country Link
KR (1) KR20000013078A (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100689006B1 (ko) * 2005-03-17 2007-03-08 후지쯔 가부시끼가이샤 데이터 전송 장치
US8891523B2 (en) 2011-06-03 2014-11-18 Samsung Electronics Co., Ltd. Multi-processor apparatus using dedicated buffers for multicast communications
CN114647601A (zh) * 2020-12-21 2022-06-21 奥的斯电梯公司 控制系统中的实时处理系统同步

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100689006B1 (ko) * 2005-03-17 2007-03-08 후지쯔 가부시끼가이샤 데이터 전송 장치
US7475170B2 (en) 2005-03-17 2009-01-06 Fujitsu Limited Data transfer device for transferring data to and from memory via a bus
US8891523B2 (en) 2011-06-03 2014-11-18 Samsung Electronics Co., Ltd. Multi-processor apparatus using dedicated buffers for multicast communications
CN114647601A (zh) * 2020-12-21 2022-06-21 奥的斯电梯公司 控制系统中的实时处理系统同步

Similar Documents

Publication Publication Date Title
KR0169248B1 (ko) 패킷 상호 연결망에서의 메시지 송신 장치 및 메시지 송신 제어방법
US5276684A (en) High performance I/O processor
JP4499420B2 (ja) スーパーチャージメッセージ交換装置
KR100231897B1 (ko) 디엠에이 채널의 사이즈 데이터를 수신하는 디엠에이 제어회로
KR20040044366A (ko) 공유 메모리 데이터 전송장치
KR20060122934A (ko) 복수의 어드레스 2 채널 버스 구조
US7535920B2 (en) Method and system for optimizing UTOPIA CLAV polling arbitration
US5793994A (en) Synchronous event posting by a high throughput bus
US6131114A (en) System for interchanging data between data processor units having processors interconnected by a common bus
US20050144338A1 (en) Data transfer apparatus
US6061748A (en) Method and apparatus for moving data packets between networks while minimizing CPU intervention using a multi-bus architecture having DMA bus
KR20000013078A (ko) 다중 프로세서 시스템의 프로세서간 통신 장치 및 방법
US20040151175A1 (en) Transparent data format within host device supporting differing transaction types
JP3639651B2 (ja) 少なくとも2台のプロセッサからなる情報処理装置
JP3458037B2 (ja) スプリットバス制御方式
JPH0619838A (ja) 光バックプレーン
US20240004816A1 (en) Interface method for transmitting and recieving data between functional blocks in system on chip, and system on chip using same
JPH064401A (ja) メモリアクセス回路
KR100289578B1 (ko) 대용량 통신처리시스템에 있어서 패킷 메모리의중재장치
KR960008563Y1 (ko) 병렬버스의 제어장치
JP2004161207A (ja) 人工衛星搭載データ処理装置
KR100227312B1 (ko) 망 인터페이스 모듈
KR100198789B1 (ko) 수신 연결망 인터페이스의 구조
US7177997B2 (en) Communication bus system
KR100328630B1 (ko) 선버스와 브이엠버스의 데이타 전송방법 및 전송채널장치

Legal Events

Date Code Title Description
WITN Withdrawal due to no request for examination