KR100303461B1 - 프로세서간의 통신 시스템 - Google Patents

프로세서간의 통신 시스템 Download PDF

Info

Publication number
KR100303461B1
KR100303461B1 KR1019980029037A KR19980029037A KR100303461B1 KR 100303461 B1 KR100303461 B1 KR 100303461B1 KR 1019980029037 A KR1019980029037 A KR 1019980029037A KR 19980029037 A KR19980029037 A KR 19980029037A KR 100303461 B1 KR100303461 B1 KR 100303461B1
Authority
KR
South Korea
Prior art keywords
processor
processors
output
memory
message
Prior art date
Application number
KR1019980029037A
Other languages
English (en)
Other versions
KR19990062456A (ko
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 US09/166,232 priority Critical patent/US6226706B1/en
Publication of KR19990062456A publication Critical patent/KR19990062456A/ko
Priority to US09/729,244 priority patent/US6336145B2/en
Application granted granted Critical
Publication of KR100303461B1 publication Critical patent/KR100303461B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • 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

Abstract

다수의 프로세서들 상호간의 메세지를 신속하게 송수신할 수 있도록 하는 메세지 패싱 네트워크(message passing network)를 갖는 프로세서간의 통신 장치에 관한 것이다. 상기의 프로세서간의 통신장치는 어드레스, 데이타 및 제어신호들을 전송하는 버스에 접속되며, 이웃하는 프로세서와 메세지를 송수신하기 위한 핸드쉐이크 신호를 입,출력하는 다수의 프로세서들과, 어드레스, 데이타 및 제어신호들로 구성된 각각의 메모리 버스에 연결되어 어드레스 및 제어 신호의 입력에 의해 데이타를 메모리 영역에 억세스하는 메모리 블럭들과, 상기 프로세서 버스들과 메모리 버스들의 사이에 접속되며, 이웃하는 두 프로세서들로부터의 핸드쉐이크 신호의 입력에 응답하여 이웃하는 상기 두 프로세서가 상기 메모리 블럭들을 배타적으로 로테이트 억세스하도록 상기 이웃하는 두 프로세서 버스들에 접속된 상기 메모리 버스를 로테이트시키는 로테이션 버스 인터페이스 모듈을 포함하여 구성된다.

Description

프로세서간의 통신 시스템 {APPARATUS FOR INTER PROCESSOR COMMUNICATION IN DIGITAL SYSTEM}
본 발명은 적어도 둘 이상의 프로세서를 갖는 디지탈 시스템에서 프로세서간의 메세지를 송수신하는 프로세서간의 통신(Inter Processor Communication)(이하 "IPC"라 칭함) 장치에 관한 것으로, 특히 다수의 프로세서들 상호간에 메세지를 신속하게 송수신할 수 있도록 하는 메세지 패싱 네트워크(message passing network)를 갖는 프로세서간의 통신 장치에 관한 것이다.
현재의 디지탈 시스템은 고성능 및 데이타의 실시간(real time) 처리를 위하여 점차적으로 마이크로프로세서(microprocessor)를 가지는 프로세서 모듈의 탑재 개수가 증가되고 있다. 예를 들면, 디지탈 데이타 전송 시스템, 디지탈 교환 시스템 및 다수의 클라이언트들의 데이타를 처리하는 네트워크 서버 등이 그 대표적 케이스이다.
대용량의 디지탈 데이타를 고속으로 처리하기 위하여 디지탈 시스템에 탑재된 다수의 프로세서 모듈들 상호간은 처리된 결과 등의 메세지를 상호간에 주고받기 위한 IPC장치를 가져야 한다. 프로세서간의 통신을 위한 종래의 방법으로서는 듀얼 포트 램(dual port RAM) 등과 같은 메모리를 공유하여 데이타를 상호간에 주고받는 것이 일반화되어 있으며, 이러한 기술은 현재 많이 알려져 있다.
그러나, 듀얼 포트 메모리를 이용하는 방법은 두 개의 프로세서가 동시에 데이타를 억세스할 수 없게되어 프로세서들간의 IPC를 위한 효율이 낮다.
따라서, 본 발명의 목적은 적어도 둘 이상의 프로세서를 갖는 디지탈 시스템에서 프로세서들 상호간에 데이타 메세지를 고속으로 송수신할 수 있는 IPC 시스템을 제공함에 있다.
본 발명의 다른 목적은 메모리 시스템 버스를 이웃하는 두 프로세서가 로테이트하여 메세지를 고속으로 전송하는 로테이션 버스 인터페이스 모듈(Rotation Bus Interface Module : 이하 "RBIM"이라 칭함)을 가지는 프로세서간의 통신 장치를 제공함에 있다.
본 발명의 또다른 목적은 메세지 패싱 네트워크를 가지고 다수의 프로세서들 상호간의 메세지를 고속으로 전송할 수 있는 프로세서간의 통신 장치를 제공함에 있다.
상기한 목적을 달성하기 위한 본 발명은 프로세서간의 통신 시스템에 있어서, 어드레스, 데이타 및 제어신호들을 전송하기 위한 신호선들로 구성된 버스에 접속되며, 이웃하는 프로세서와 메세지를 송수신하기 위한 핸드쉐이크 신호를 입출력하는 다수의 프로세서들과, 어드레스, 데이타 및 제어신호들을 전송하기 위한 신호선들로 구성된 각각의 메모리 버스에 연결되어 어드레스 및 제어 신호의 입력에 의해 데이타를 메모리 영역에 억세스하는 메모리 블럭들과, 상기 프로세서 버스들과 메모리 버스들의 사이에 접속되며, 이웃하는 두 프로세서들로부터의 핸드쉐이크 신호의 입력에 응답하여 이웃하는 상기 두 프로세서가 상기 메모리 블럭들을 배타적으로 로테이트 억세스하도록 상기 이웃하는 두 프로세서 버스들에 접속된 상기 메모리 버스를 로테이트시키는 RBIM을 포함하여 구성함을 특징으로 하는 프로세서간의 통신 시스템 장치로 구성함을 특징으로 한다.
도 1은 본 발명의 실시예에 따른 프로세서간의 통신 시스템의 구성도로서, 로테이션 버스 인터페이스 모듈을 이용하여 이웃하는 프로세서간에 메세지를 송수신하는 상태를 설명하기 위한 도면.
도 2는 본 발명의 실시예에 따른 로테이션 버스 마스터의 상세 구성도를 도시한 도면.
도 3은 본 발명의 실시예에 따른 메모리 블럭의 구성도로서, 이는 고속으로 억세스가 가능하도록 구성된 레지스터 파일이다.
도 4는 도 1에 도시된 로테이션 버스 인터페이스 모듈을 이용한 동기 메세지 전송을 위한 프로세서들의 동작 흐름도.
도 5는 도 1에 도시된 로테이션 버스 인터페이스 모듈을 이용한 비동기 메세지 전송을 위한 프로세서들의 흐름도이다.
도 6 및 도 7은 도 1에 도시된 로테이션 버스 인터페이스 모듈을 이용한 비동기 메세지 전송을 위한 송신측 및 수신측 프로세서들의 또다른 흐름도이다.
도 8은 본 발명의 실시예에 따른 프로세서간의 통신 시스템의 구성을 다수의프로세서들을 가지는 멀티-프로세서 시스템에 적용시의 블럭 구성도를 도시한 것이다.
도 9는 본 발명의 제2실시예에 따른 프로세서간의 통신 시스템의 구성도로서, 메세지 패싱 네트워크 구조를 가지고 프로세서들 상호간에 메세지를 송수신하는 상태를 설명하기 위한 도면이다.
도 10은 도 9에 도시된 메세지 패싱 네트워크 구조의 동작을 설명하기 위한 흐름도로서, 메세지 패싱 콘트롤러의 제어 흐름도를 도시한다.
이하 본 발명에 따른 바람직한 실시예를 첨부한 도면을 참조하여 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 것이라는 것을 유의하여야 한다.
도 1은 본 발명의 실시예에 따른 RBIM을 이용하여 이웃하는 프로세서(processor: 이하 "PROCE"라 칭하며, 번호를 붙여 구별함)들 상호간에 메세지를 송수신하는 구성을 나타낸 것이다.
도 1을 참조하면, 이웃하는 두 개의 PROCE1 102 및 PROCE2 104들 사이에는 이들 상호간의 핸드쉐이킹에 의해 일측에 메모리 블럭 MB1, MB2가 접속된 로테이션 버스를 회전시키기 위한 제1 및 제2 제어신호 CTL1, CTL2를 발생하는 로테이션 버스 마스터(Rotation Bus Master)(이하 "RBM"이라 칭함) 106이 접속되어 있다. 이때, 상기 메모리 블럭 MB1, MB2에 각각 접속된 도 1의 버스들은 위로부터 어드레스, 데이타 및 제어신호들을 나타낸다.
상기 메모리 블럭 MB1, MB2는 상기 PROCE1 102와 PROCE2 104들이 고속으로 데이타의 억세스가 가능하도록 한 레지스터 파일의 구성을 갖는다. 상기 RBM 106으로부터 출력되는 제1 및 제2제어신호 CTL1, CTL2는 상기 PROCE1 102와 메모리 블럭 MB1, MB2들 사이에 접속된 제1버퍼 108의 제어단자와, 상기 PROCE2 104와 메모리 블럭 MB1, MB2들 사이에 접속된 제2버퍼 110의 제어단자로 각각 입력된다. 상기 제1, 제2버퍼 108과 110들 각각은 프로세서 측이 공통으로 접속된 한 쌍의 버퍼로 구성되며, 상기 한 쌍의 버퍼들의 또다른 입출력단자는 메모리 블럭 MB1, MB2에 각각 분리 접속되어 있다. 도 1에서 버퍼 FB와 SB가 한 쌍의 버퍼를 나타낸다.
도 1에 도시된 RBM 106은 두 개의 프로세서, 즉, PROCE1 102 및 PROCE2 104들 상호간에 정보를 전달시에 핸드쉐이킹을 위해서 주고 받는 세 개의 신호선에 연결되어 있다. 즉, 준비신호 "R"(ready), 초기화 신호 "I"(Initial) 및 개시신호 "S"(start)등의 세 개의 신호선에 연결되어 있다. 상기 RBM 106은 상기 PROCE1 102 및 PROCE2 104로부터 각각 출력되는 준비(ready)신호 "R"의 논리 상태의 변화에 따라 로테이션 버스의 억세스를 회전시키기 위한 제1, 제2제어신호 CTL1, CTL2의 출력 상태를 변화시킨다. 이때, 상기 제1, 제2제어신호 CTL1, CTL2의 출력 논리는 상호 배타적이다. 예를 들면, 제1제어신호 CTL1이 논리 "로우"이면, 제2제어신호 CTL2는 반드시 논리 "하이"이다.
상기 도 1과 같은 구성을 갖는 RBIM은 PROCE1 102 및 PROCE2 104들의 핸드쉐이킹에 의해 PROCE1 102 혹은 PROCE2 104가 억세스하는 버스를 회전시켜 상기 두 프로세서가 메모리 블럭 MB1 혹은 MB2를 선택적으로 억세스할 수 있도록 한다. 따라서, 상기 도 1과 같은 RBIM에 의해 두 개의 프로세서가 억세스할 수 있는 버퍼를 회전시킴으로써 다음과 같은 이점이 발생된다.
첫째, 프로세서를 각 입/출력 포트로부터 단절시키므로써 프로세서가 특정 기능을 위한 단위 시간을 보장할 수 있다. 즉, 프로세서는 입/출력 기능을 위한 시간을 할당할 필요가 없게되며 메모리 블럭에 접속된 버스에 대한 시간 분할 억세스가 필요하지 않다. 둘째, 해당 기능 모듈의 속성에 따라서 입/출력 포트의 속도, 전송 모드 및 프로세서 상호간에 교환하는 데이타의 메세지 포맷을 용이하게 결정할 수 있게된다. 그러므로, 교환되는 메세지의 프로세싱이 가능하게 된다. 셋째로는, 로테이션 버스 인터페이스를 사용한 메세지의 전달로 인하여 각 프로세싱 유닛의 기능과 용량 등의 속성에 따라서 다수의 기능 모듈 블럭 각각을 독립적인 기능으로 구성하여 고도의 병렬 처리 기능을 수행할 수 있다.
상기와 같이 구성된 RBM 106을 이용한 RBIM은 세 종류의 핸드쉐이크 신호인 준비신호 "R", 초기화신호 "I" 및 개시신호 "S"의 입력 상태에 따라 동기 혹은 비동기 모드로 동작된다. 비동기식 동작시에는 정보를 시간 주기에 따라서 전달하는방법과 정보를 교환하는 두 프로세서 사이에 거래에 의해 메세지를 전달하는 여러 가지 방법들이 모두 적용될 수 있다. 본 발명의 명세서는 이러한 동작을 계속하여 상세하게 설명할 것이다.
도 2는 도 1에 도시된 RBM 106의 상세 구성도를 도시한 도면이다. 도 2에 도시된 RBM 106에는 PROCE1 102 및 PROCE2 104의 입출력 단자가 접속되어 있다. 상기 PROCE1 102 및 PROCE2 104는 상기 RBM 106을 통해 정보 전달의 상태를 나타내는 핸드쉐이킹을 한다. 핸드쉐이킹을 위한 신호로는 앞서 기재한 바와 같이 준비신호 "R", 초기화신호 "I", 개시신호 "S"이다. 상기 핸드쉐이킹 신호중 준비신호 "R"만이 PROCE1 102 및 PROCE2 104로부터 출력되는 신호이며, 그 이외의 신호는 RBM 106으로부터 출력되는 신호이다. 그리고, 상기와 같은 준비신호 "R" 및 개시신호 S는 레지스터에 저장하게끔 상기 RBM 106이 구성되어 있다. 상기 도 2와 같이 구성된 RBM 106은 두 종류의 클럭을 사용하는데, 하나는 시스템에 공급되는 시스템 클럭 CLK이고, 다른 하나는 바이트 스트림으로 하나의 메세지를 전달하는 단위의 주기 신호로서 인스트럭션 클럭(CTC)이 될 수 있다. 상기의 신호들중 준비신호 "R"은 시스템 클럭 CLK의 하강 에지에 클럭킹되며, 초기화신호 "I"와 개시신호 "S"는 상기 시스템 클럭 CLK의 상승 에지에 동기되어 천이된다. 도 2와 같은 구성중 PROCE1 102 및 PROCE2 104를 제외한 구성은 두 개의 프로세서로부터 출력되는 핸드쉐이킹 신호에 의해 메모리 블럭 MB1, MB2로부터 상기 제1버퍼 108, 제2버퍼 110을 통하여 상기 PROCE1 102 및 PROCE2 104에 접속된 버스를 로테이트 시키는 로테이션 버스 인터페이스 모듈(RBIM)이다.
상기 도 2에 도시된 RBM 106의 동작을 간략히 설명하면 다음과 같다.
지금 PROCE1 102 및 PROCE2 104가 미리 설정된 고유의 기능을 종료하면, 이들 프로세서들 각각은 준비신호 "R"을 논리 "0"으로 출력한다. 이때, 상기 PROCE1 102 및 PROCE2 104의 출력 단자에 입력이 접속된 제1, 제2플립플롭 112 및 114는 시스템 클럭의 하강 에지(falling edge)에 의해 상기 준비신호 "R"을 각각 클럭킹하므로써 각각의 반전출력단자의 출력신호는 논리 "하이"로 천이된다.
상기 제1, 제2플립플롭 112, 114의 비반전출력단자에 입력이 접속된 앤드게이트 116은 논리 "0"으로 래치된 신호들을 논리곱 하여 제3플립플롭 122의 입력단자로 공급한다. 그리고, 상기 제1, 제2플립플롭 112, 114의 반전출력단자에 두 입력이 접속된 앤드 게이트 118은 논리 "1"의 신호를 출력단자에 접속된 앤드게이트 120의 일측으로 공급한다. 따라서, 상기 앤드게이트 120은 상기 앤드게이트 118의 출력을 CTC 발생기 130으로부터 출력되는 다음의 메세지 전송 클럭에 의해 논리 "1"로 천이 되는 초기화 신호 "I"를 상기 PROCE1 102 및 PROCE2 104로 각각 공급한다. 상기와 같이 활성화된 초기화 신호 "I"는 PROCE1 102 및 PROCE2 104들이 자신의 고유의 기능을 종료하였음을 상대방의 프로세서로 전달하는 역할을 하기 위한 것이다.
상기와 같은 동작에 의해 논리 "1"로 천이되는 초기화 신호 "I"를 입력하는 PROCE1 102 및 PROCE2 104는 상대방의 프로세서로 전달할 메세지가 있는 경우 메모리 블럭 MB1, MB2의 데이타 억세스의 경로를 변환하기 위해 다시 준비신호 "R"을 논리 "1"로 출력한다. 이때, 제1플립플롭 112, 114의 반전단자의 출력은 논리 "0"으로 변환됨으로써 초기화 신호 "I"는 논리 "0"으로 천이된다. 그리고, 상기 제1, 제2플립플롭 112, 114의 비반전 출력단자에 두 개의 입력단자가 접속된 앤드게이트 116은 논리 "하이"를 제3플립플롭 122의 입력단자로 공급한다. 상기 제3플립플롭 122는 시스템 클럭 CLK가 상승에지 일 때 앤드게이트 116의 "하이" 출력을 래치하여 다음단의 제4플립플롭 124로 공급한다.
상기 제4플립플롭 124의 출력단자에 접속된 앤드 게이트 126은 상기 제3플립플롭 122의 비반전단자의 출력과 제4플립플롭 124의 반전출력단자로부터 출력되는 출력신호를 논리곱하여 출력한다. 이때, 상기 제4플립플롭 124는 상기 제3플립플롭 122의 비반전단자의 출력을 시스템 클럭 CLK의 상승에지에 클럭킹하여 래치출력 하는 지연기이다. 따라서, 상기 제3플립플롭 122가 상기 시스템 클럭 CLK에 의해 앤드 게이트 116의 출력 "하이"를 출력하는 경우, 상기 제4플립플롭 124는 초기 1클럭 지연된 "로우"의 신호를 래치하여 출력하므로써 상기 앤드게이트 126로부터 추력되는 개시신호 "S"는 논리 "하이"로 출력된다. 이와 같이 논리 "하이"로 천이된 개시신호 "S"는 토클 플립플롭 128의 입력단자로 공급함과 동시에 PROCE1 102 및 PROCE2 104로 제공되어 메모리 블럭 MB1, MB2의 입출력 포트가 로테이트 되었음을 PROCE1 102 및 PROCE2 104로 알리게된다. 이때, 상기 논리 "하이"로 활성화된 개시신호 "S"를 입력하는 PROCE1 102 및 PROCE 104는 다음 제어 단위 시간의 기능을 수행하여 메세지를 메모리 블럭 MB1, MB2로 송출 혹은 그에 저장된 메세지 데이타를 억세스하여 데이타 통신을 한다.
따라서, 상기 도 2와 같은 원리에 의한 RBIM은 PROCE1 102와 PROCE2 104,즉, 미리 설정된 특정 기능을 수행하는 기능 블럭의 프로세서와 이에 이웃하는 또다른 기능블럭의 속성과 처리 속도 그리고 정보의 전달 방법에 따라서 하기와 같은 동작 모드중 하나로 선택되어 동작될 수 있다. 즉, 동기식/비동기식중 하나로 선택되어 동작된다.
상기 비동기식은 입력단과 출력단의 정보의 전달이 독립적으로 이루어지는 방식으로, 두 가지의 방식으로 대별된다. 첫 번째로는, 일정한 크기의 메세지가 비동기적으로 입력되는 경우에 이용되는 시간 주기를 이용한 비동기식이며, 둘째는 전달해야할 정보 메세지가 임의로 발생하는 경우에 사용될 수 있는 거래에 의한 전송 방식이다. 이러한 동기/비동기의 동작모드는 도 2에 도시된 PROCE 102와 PROCE2 104의 핸드쉐이킹 프로그램의 설정에 따라 선택적으로 이루어지는 것으로, 이와 같은 동작은 PROCE1 102 및 PROCE2 104의 동기/비동기 전송 모드를 설명하는 부분에서 상세하게 설명될 것이다.
상기와 같은 설명에서 유의하여야 할 것은 도 2에 도시된 메세지 전송 클럭 CTC는 동기식 전송에서만 사용되는 것이며, 비동기 전송모드에서는 항상 논리 "1"로 고정되어 앤드 게이트 120이 인에이블되어 있도록 한다는 것이다.
도 3은 본 발명의 실시예에 따른 레지스터 메모리 블럭의 구성도를 도시한 것으로, 도 1의 로테이션 버스에 접속된 메모리 블럭 MB1, MB2의 구성예이다. 그 구성은, 기록 제어 신호 WE의 입력에 의해 인에이블되어 입력되는 데이타를 버퍼링하는 기록버퍼 132와, 기록 클럭에 입력에 응답하여 상기 버퍼링된 데이타의 각 비트를 래치하는 다수의 플립플롭들 및 로우 선택신호에 의해 래치된 신호를 출력하는 데이타 출력용 트라이 스테이트 버퍼들을 각각 가지는 다수의 로우 레지스터(row register)들 134~138과, 외부로부터 입력되는 어드레스를 디코딩하여 상기 다수의 로우 라인중 하나를 활성화시키며, 상기 활성화된 로우 라인의 신호와 기록 제어 신호 WE를 논리 조합하여 해당 로우 라인에 위치되는 기록 클럭을 발생하는 디코더 140과, 상기 로우 레지스터들 134~138로부터 출력되는 데이타를 리드 제어 신호 RD에 의해 외부로 출력하는 출력버퍼(read buffer) 142로 구성되어 있다.
상기의 구성중 디코더 140 어드레스를 프리 디코딩(pre decoding)하여 다수의 로우 라인들중 적어도 하나의 로우 라인을 선택하는 프리 디코더 146과, 상기 어드레스 디코더 146의 출력을 버퍼링하는 어드레스 버퍼 148과, 상기 어드레스 버퍼 146으로부터 출력되는 로우 라인의 선택 신호와 상기 기록 제어 신호를 논리 조합하여 기록 클럭을 발생하는 다수의 앤드 게이트 150으로 구성되어 있다. 또한, 로우 레지스터들 134~138 각각은 상기 앤드 게이트 150으로부터 출력되는 클럭에 의해 지연단자 D로 입력되는 데이타 비트를 래치하는 D형 플립플롭들과, 상기 D형 플립플롭들의 출력단자 "Q"에 접속되어 있으며 로우 라인의 활성화(논리 "하이)에 의해 상기 플립플롭에 래치된 신호를 출력버퍼 142로 전송하는 트라이 스테이트 버퍼들을 포함하여 구성되어 있다.
상기와 같이 구성된 메모리 블럭은 로테이션 버스 인터페이스를 통해 어드레스가 입력되면, 디코더 146은 상기 입력되는 어드레스를 디코딩하여 어드레스 버퍼 148로 공급하며, 상기 어드레스 버퍼 148은 상기 디코딩된 신호를 버퍼링하여 다수의 로우 라인들중 하나의 로우 라인을 활성화시킨다.
이와 같은 상태에서 데이타와 활성화된 기록신호 WE가 기록버퍼들 132와 다수의 앤드게이트 150의 일측으로 공급되면, 다수의 앤드 게이트들 150중 활성화된 로우 라인들에 접속된 하나의 앤드 게이트만이 활성화된 기록 클럭을 해당 플립플롭들의 클럭단자로 공급한다. 이때, 기록 클럭을 입력하는 플립플롭들은 기록 버퍼 132를 통한 데이타를 래치하여 저장하며, 상기 플립플롭에 저장된 데이타들은 활성화된 로우 라인의 신호에 의해 인에이블된 트라이 스테이트 버퍼를 통해 독출버퍼 142로 입력된다. 상기 독출 버퍼 142는 로테이션 버스를 통해 입력되는 독출 제어신호 RD가 활성화되는 것에 의해 입력신호를 출력한다.
도 4는 도 2에 도시된 로테이션 버스 인터페이스 모들을 이용한 동기 메세지 전송을 위한 프로세서 유니트의 흐름도로서, PROCE1 102, PROCE2 104의 입출력이 동기 모드로 설정되었을 때의 동작을 나타낸 것이다.
PROCE1 102 및 PROCE2 104는 도 4의 152과정에서 초기화 신호 "I"가 모두 논리 "1"로 세트되어 로테이션 버스 마스터 RBM 106이 초기화 상태인지를 검색한다. 이러한 검색에 의해 상기 입출력 포트의 초기화 신호 "I"가 모두 논리 "1"로 입력되면 PROCE1 102 및 PROCE2 104들은 도 4의 154과정에서 준비신호 "R"을 논리 "1"로 출력하고, 156과정에서 입출력포트의 개시신호 "S"가 모두 논리 "1"인지를 검색한다. 이때, 전술한 도 2에 도시된 RBM 106은 두 개의 프로세서로부터 출력되는 준비신호 "R"이 모두 논리 "1"일 때 "개시신호 "S"를 논리 "하이"로 천이시킨다. 따라서, 상기 PROCE1 102 및 PROCE2 104들은 상기 156과정에서 개시신호가 "S"가 모두 논리 "1"이라고 판단하여 해당 프로세서 유니트가 메모리 블럭 MBi(여기서 i는 정수)의 억세스를 도 4의 158과정에서 실행하고, 160과정에서 준비신호 "R"를 논리 "0"으로 변화시킨다. 이러한 동작에 의해 도 2에 도시된 PROCE1 102 및 PROCE2 104들은 입력 및 출력포트에 접속된 서로 다른 메모리 블럭을 개별적으로 동기식으로 억세스할 수 있게된다.
도 5는 도 2에 도시된 로테이션 버스 인터페이스를 이용한 비동기 메세지 전송을 위한 프로세서 유니트의 흐름도로서, PROCE1 102 및 PROCE2 104들의 입출력이 동기 모드로 설정되었을 때의 시간 주기성으로 메세지 등의 데이타를 전달하기 위한 동작을 나타낸 것이다.
PROCE1 102 혹은 PROCE2 104는 도 5의 162과정에서 초기화 신호 "I"가 논리 "1"로 설정되어 초기화 상태인지를 검색한다. 상기 검색에서 초기화 신호 "I"가 논리 "1"로 설정되어 있는 경우 해당 프로세서는 164과정에서 준비신호 "R"을 논리 "1"로 출력한 후, 도 5의 168과정에서 개시신호 "S"가 논리 "1"인지를 검색한다.
이와 같은 상태에서 프로세서로 입력되는 개시신호 "S"가 논리 "1"로 천이 되면 상기 해당 프로세서는 170과정에서 고유의 기능을 수행한 후 준비신호 "R"을 172과정에서 논리 "0"으로 출력한다. 따라서, 상기 도 5와 같은 비동기 전송 모드의 제어에 의해 PROCE1 102 혹은 PROCE2 104는 준비신호 "R"을 논리 "1"로 활성화시킨 상태에서 도 2에 의해 연결된 임의의 메모리 블럭 MBi을 억세스하여 일정한 크기의 메세지를 메모리 블럭에 저장하거나 저장된 메세지를 독출 하게 된다.
즉, 상대방의 프로세서로부터 출력되는 준비신호 "R"이 논리 "1"로 출력될때까지 해당 메모리 블럭을 억세스하여 정보 메세지를 기록하거나 독출 한다. 만약, 상대방의 프로세서로부터 출력되는 준비신호 "R"가 논리 "1"로 출력되는 경우에는 도 2에 도시된 개시신호 "S"가 1로 되어 메모리 블럭의 버스가 회전된다.
도 6과 도 7은 도 2에 도시된 로테이션 버스 인터페이스를 이용한 비동기 메세지 전송을 위한 프로세서 유닛의 또다른 흐름도로서, 거래에 의한 정보 전달 방식을 설명하기 위한 것이다.
지금, 도 2에 도시된 송신측인 PROCE1 102가 초기화된 후 준비신호 "R"을 174과정에서 논리 "하이"로 하면, 상기 PROCE1 102는 176과정에서 잡(job)이 준비되어 있는지를 검색한다. 잡의 준비가 없는 경우, PROCE1 102는 178과정에서 또다른 잡을 처리하고, 잡의 준비가 되어 있는 경우는 도 6의 180과정에서 해당 메모리 블럭을 억세스하여 고유의 기능을 수행한다. 그리고, 상기 PROCE1 102는 고유의 기능이 수행 완료되면 도 6의 182과정에서 고유의 기능이 종료하였음을 나타내기 위하여 준비신호 "R"을 논리 "0"으로 출력한 후, 초기화신호 "I"가 논리 "1"로 입력되는지를 도 6의 184과정에서 검색한다. 즉, 메모리 블럭을 로테이트 시키기 위하여 상기 준비신호 "R"을 논리 "0"으로 출력한다.
상기와 같은 상태에서 도 2와 같이 구성된 RBM 106으로부터 출력되는 초기화 신호 "I"가 논리 "1"로 출력되면, PROCE1 102는 도 6의 186과정에서 억세스되는 메모리 블럭을 회전시키기 위하여 준비신호 "R"을 논리 "1"로 출력한다. 여기서, 상기 RBM 106으로부터 출력되는 초기화 신호 "I"는 PROCE1 102 및 PROCE2 104들의 고유 기능이 종료되어 준비 신호 "R"들이 모두 논리 "0"일 때 발생한다는 것에 유의하여야 한다. 그리고, 상기 PROCE1 102는 188과정에서 RBM 106으로부터 공급되는 개시신호 "S"가 논리 "1"로 천이 되는지를 모니터링 하여 논리 "1"로 천이 되는 경우에는 메모리 블럭 MBi가 로테이트 되었다고 판단하고 전술한 176과정으로부터 반복하여 수행한다.
한편, 수신측인 PROCE2 104는 초기화에 의해 준비신호 "R"을 도 7의 190과정에서 "0"으로 출력하고, 192과정에서 RBM 106으로부터 출력되는 초기화 신호 "I"가 논리 "1"로 출력되는지를 검색한다. 이와 같이 수신측인 PROCE2 104가 초기 준비신호 "R"을 논리 "0"으로 출력하는 이유는 도 2에 도시된 RBM 106으로부터 출력되는 초기화 신호 "I"를 "하이"로 출력하기 위함이다. 상기 192과정의 검색결과 초기화 신호 "I"의 입력이 논리 "1"이 아니라면, 상기 PROCE2 104는 194과정에서 또다른 잡을 처리한다. 이와 같은 상태에서 송신측인 PROCE1 102는 고유의 기능을 수행 완료한 후 준비신호 "R"을 논리 "0"으로 출력하면 PROCE2 104는 196과정에서 고유의 기능을 수행하기 위해 준비신호 "R"을 1로 출력하고, RBM 106으로부터 출력되는 개시신호 "S"가 논리 "1"로 출력되는지를 198과정에서 검색한다. 상기의 상태에서, 송신측인 PROCE1 102가 고유의 기능을 수행, 예를 들면, 메모리 블럭을 억세스하기 위하여 준비신호 "R"을 논리 "1"으로 출력하면 RBM 106의 개시신호 "S"가 논리 "1"로 천이되므로써 상기 PROCE2 104는 도 7의 200과정에서 메모리 블럭을 억세스하여 고유의 기능을 수행한다.
상기 도 7의 200과정에서 메모리 블럭을 억세스하여 해당 기능을 수행하는 PROCE2 104가 정보 메세지에 대한 수신 동작을 완료하면 202과정에서 준비신호 "R"을 논리 "0"으로 출력한다. 이때, 송신측인 PROCE1 102는 메모리 블럭을 억세스하여 고유의 기능을 수행 완료하여 준비신호 "R"을 논리 "0"으로 출력시에 초기화 신호 "I"를 논리 "1"로 천이시키기 위함이다. 따라서, 도 6 및 도 7에 도시된 거래 방식에 의한 비동기 방식은 상대방으로 전송하여야 할 정보 메세지가 임의로 발생하는 경우에 RBM 106을 통한 핸드쉐이킹에 의해 비동기식으로 송수신할 수 있음을 알 수 있다.
도 8은 본 발명의 실시예에 따른 프로세서간의 통신 시스템의 구성을 다수의 프로세서들을 가지는 멀티-프로세서 시스템에 적용시의 블럭 구성도를 도시한 것으로, 도 1 및 도 2와 같은 원리를 다수의 프로세서가 탑재된 시스템에 적용 가능함을 나타낸 것이다.
도 8을 참조하면, 상호간에 메세지를 주고 받아야할 다수의 프로세서들 PROCEi(여기서 i는 1,2,3,4……n을 의미하는 정수) 사이에는 도 2에서 전술한 RBIM들이 접속되어 있다. 물론, 도 8에 도시된 RBIMi들 각각에는 도 3과 같은 메모리 블럭 MBi들을 적어도 두 개 이상 포함한다. 예를 들면, PROCE1 102는 이웃하는 프로세서들인 PROCEn 107과 PROCE2 104의 사이에 접속된 RBIM0과 RBIM1을 이용하여 핸드쉐이킹을 하므로써 상기 PROCEn 107 혹은 PROCE2 104와의 메세지를 송수신한다.
만약, PROCE1 102와 PROCE3 105간의 메세지 전송은 이들 사이에 위치한 또다른 프로세서 PROCE2 104의 중계에 의해 이루어진다. 메세지의 중계는 이웃하는 프로세서로부터 메세지를 수신시에 수신된 메세지 포맷의 어드레스 필드에 저장된 목적지 코드와 미리 설정된 자기 자신의 고유 코드와 비교하여 아닌 경우 상위 프로레서로 전송하므로써 이루어진다. 따라서, 본 발명은 이웃하는 프로세서를 통해 비교적 원거리에 위치한 프로세서까지 메세지를 전송할 수 있게된다.
도 9는 본 발명의 제2실시예에 따른 프로세서간의 통신 시스템의 구성도로서, 메세지 패싱 네트워크 구조를 가지고 프로세서 모듈 MODi(여기서 i는 0, 1, 2, 3등의 정수)들 상호간에 메세지를 송수신하는 상태를 설명하기 위한 도면이다.
도 9를 참조하면, RBIMh와 RBIMj(여기서 h와 j는 0, 1, 2, 3등의 정수, h≠j임)들 사이에는 로테이션 버스를 통하는 메세지의 입력과 출력을 제어하기 위한 메세지 패싱 콘트롤러(Message passing controller)(이하 "MPC"라 칭하며 번호를 붙여 표기함) 212가 접속되어 있다. 상기 MPC 212는 프로세서 모듈 MODi(여기서, i는 "h〈i〈j"의 관계를 갖는다.)내에서 메세지의 교환을 위한 기능만을 수행한다. 메세지 패싱 네트워크의 메세지 흐름은 h에서 i로 전달받아서 j로 전달되는 단방향으로 구성된다. 또한, RBIMh와 PROCEi의 사이에는 상기 MPCi 212의 제어에 의해 상기 PROCEi로 부터의 메세지를 RBIMh에서 빈 메세지가 들어오면 실어서 RBIMj로 전송하기 위한 리포팅 버퍼(reporting buffer)(이하 "RB"라 칭하고 번호를 붙여 표기함) 216과 상기 RBIMh에서 전달받은 메세지가 해당 모듈을 목적지로 하는 것일 경우 수신된 메세지를 상기 PROCEi로 전송하기 위한 오퍼레이션 버퍼(operation buffer)(이하 "OB"라 칭하고, 번호를 붙여 표기함) 214가 접속되어 구성되어 있다.
이와 같이 구성된 메세지 패싱 네트워크는 상기 MPCi 212의 제어에 의해 이웃하는 프로세서인 PROCEn 혹은 PROCE2 104들로부터 전송되어온 메세지를 패싱 하거나, RB 216을 통해 해당 PROCEi로 제공하여 수신된 메세지가 처리되도록 한다. 이때 메세지의 패싱은 MODh에서 수신된 데이타 프레임중 어드레스 필드에 포함된 목적지 코드와 미리 설정된 MPCi의 고유 코드와 비교하여 아닌 경우 이웃하는 프로세싱 모듈 MODj측으로 패싱하므로써 가능하다.
상기한 바와 같이, 본 발명의 제2실시예에 따라 메세지 패싱 기능을 가지는 IPC장치는 해당 프로세서 모듈 MODi내의 MPCi가 메세지의 송수신을 주관장하므로써 해당 프로세서 모듈 MODi내의 PROCEi는 소정의 주기로 RBi에 저장된 데이타를 억세스하거나 OBi에 데이타를 기록하는 동작에 의해 필요로 하는 프로세서 모듈 MODh에서 수신 받아서 MODj측으로 메세지를 전송하게된다. 따라서, 도 9와 같은 구성을 갖는 본 발명의 제2실시예의 IPC장치는 PROCEi의 소프트웨어의 로드를 증가시키지 않고 고속으로 이웃하는 프로세서들과 메세지를 송수신할 수 있어, 프로세서 모듈 MODi의 고유의 기능을 수행하면서 메세지의 송수신을 할 수 있다. 이는 대용량의 스위칭 교환 시스템, 예를 들면, ATM(Asynchronous transfer Mode)등에서 호처리를위한 동작과 유지보수를 위한 메세지의 전송을 분리 가능하게 하므로써 광대역-종합 정보 통신망(Broadband-Integrated Service Digital Network)에 이용되는 ATM 스위칭 네트워크 장비의 구현을 보다 용이하게 할 수 있게 할 수 있다.
도 10은 도 9에 도시된 메세지 패싱 네트워크 구조의 동작을 설명하기 위한 흐름도로서, 메세지 패싱 콘트롤러의 제어 흐름도를 도시한다. 도 10을 참조하여 도 9에 도시된 메세지 패싱 네트워크를 이용한 IPC의 동작을 설명하면 하기와 같다.
지금, 도 9와 같이 구성된 메세지 패싱 네트워크가 동작되면, 도 16의 MPCi 212는 도 10의 218과정에서 입력측, 예를 들면, RBIM0 210으로부터 전달되는 메세지의 헤더를 읽어 220과정에서 유효한 메세지 인가를 검색한다. 여기서, 유효한 메세지라 함은 메세지가 빈 것이 아닌 어떤 목적지로 향하는 메세지가 채워진 것을 의미한다. 상기에서 수신된 메세지가 유효한 메세지라고 판단되면, 상기 MPCi 212는 222과정에서 해당 프로세서, 예를 들면, 도 9의 PROCE1 102에서 처리를 해야하는 메세지인가를 매칭 검사를 한다.
이와 같은 매칭 검사 결과 상기 PROCE1 102에 매칭된 메세지이면 상기 MPCi 212는 도 10의 226과정에서 오퍼레이션 버퍼(operation buffer) 214에 저장한다. 이러한 동작 과정에 의해 상기 오퍼레이션 버퍼 214에 저장된 수신 메세지는 프로세서 모듈 MOD1을 제어하는 PROCE1 102가 읽어 처리를 하게되어 이웃하는 프로세서 모듈 MODn으로부터의 메세지를 수신하게 된다. 만약, 상기 222과정에서 수신 RBIM0 210으로부터 읽어들인 메세지가 매칭된 것이 아니라면 상기 MPCi 212는 도 10의 224과정에서 입력 RBIM0 210으로부터의 메세지를 출력 RBIM 204로 패싱하여 다음 기능 블럭의 RBIM1 204로 전송되게끔 한다.
그러나, 전술한 220과정에서 수신 RBIM0 210에 입력된 메세지가 없거나 유효한 데이타가 입력되지 않은 경우로 판단되면 상기 MPCi 212는 228과정에서 리포팅 버퍼(reporting buffer) 216내에 메세지가 저장되어 있는지를 검색한다. 상기 228과정의 검색결과 RB1 216메세지가 저장되어 있지 않다고 판단되면 상기 MPCi 212는 패싱 제어를 종료하며, 리포팅 버퍼 216에 메세지가 저장되어 있는 경우에는 230과정에서 상기 리포팅 버퍼 216에 저장된 메세지를 읽어 출력측의 RBIM 204로 전송한다.
따라서, 도 9와 같이 구성되어 도 10과 같은 제어 알고리즘으로 동작되는 메세지 패싱 네트워크는 이웃하는 프로세서 모듈 MODi로부터의 메세지를 해당 프로세서 모듈 MODj로 전달하거나 또다른 프로세서 모듈로 부터의 메세지를 패싱하여 중계함을 알 수 있다.
상기한 실시예에서는 프로세서간의 핸드쉐이킹에 따라 메모리 블럭이 접속된 버스를 로테이션하여 이웃하는 프로세서간에 메세지를 송수한 하는 것을 설명하였으나, 상기한 기술적 사상을 이해한 자라면 프로세서와 메모리 블럭의 사이에 접속된 버퍼를 프로세서의 인스트럭션 사이클 혹은 시스템 처리 사이클에 동기 제어하므로써 버스를 로테이트시켜 동일한 결과를 가져올 수 있음에 유의하여야 한다.
예를 들면, 상기 인스트럭션 사이클 혹은 시스템 처리 사이클의 클럭을 카운트하고, 상기 카운트 데이타를 디코딩하여 상기 메모리 블럭에 접속된 버퍼를 제어하므로써 버스를 로테이트할 수 있다.
상술한 바와 같이 본 발명은 로테이션 버스 인터페이스를 이용하여 프로세서와 프로세서간의 메세지를 송수신하므로써 고속으로 데이타를 상호간에 전송할 수 있고, 링 토플로지의 형태로 구성된 메세지 패싱 네트워크를 이용하여 메세지를 송수신하므로써 시스템의 성능에 영향을 거의 주기 않고 프로세서간의 데이타를 송수신할 수 있다.

Claims (8)

  1. 프로세서간의 통신 시스템에 있어서,
    어드레스, 데이타 및 제어신호선들을 가지는 버스에 접속되며, 이웃하는 프로세서와 메세지를 송수신하기 위한 핸드쉐이크 신호를 입출력하는 다수의 프로세서들과,
    어드레스, 데이타 및 제어신호선들로 구성된 각각의 메모리 버스에 연결되어 어드레스 및 제어 신호의 입력에 의해 데이타를 메모리 영역에 억세스하는 메모리 블럭들과,
    상기 프로세서들에 각각 접속된 프로세서 버스들과 상기 메모리 블럭들에 각각 접속된 메모리 버스들의 사이에 접속되며, 이웃하는 두 프로세서들로부터의 핸드쉐이크 신호의 입력에 응답하여 상기 프로세서들과 상기 메모리 블럭들간에 접속된 프로세서버스와 메모리 버스를 로테이트시키는 로테이션 버스 인터페이스 모듈을 구비하여 상기 프로세서들이 상기 메모리 블럭들을 배타적으로 억세스하도록 동작함을 특징으로 하는 프로세서간의 통신 시스템 장치.
  2. 제1항에 있어서, 상기 로테이션 버스 인터페이스 모듈은 일측이 상기 프로세서들 각각에 접속된 프로세서 버스들에 공통으로 접속되고 타측이 상기 메모리 블럭들 각각에 접속된 메모리 버스에 각각 분리 접속되어 제1 및 제2제어신호에 응답하여 타측에 접속된 메모리 버스를 스위칭하여 일측에 공통 접속된 프로세서 버스로 로테이트하는 제1 및 제2버퍼와, 이웃하는 두 개의 프로세서로부터 출력되는 핸드쉐이크 신호에 의해 상기 두 프로세서들 및 이들에 접속된 메모리 블럭들 사이의 버스들을 로테이트시키기 위한 제1 및 제2제어신호를 발생하는 로테이션 버스 마스터로 구성함을 특징으로 하는 프로세서간의 통신 시스템 장치.
  3. 제2항에 있어서, 상기 제1 및 제2버퍼들 각각은 상기 프로세서 버스에 일측이 공통으로 접속된 한 쌍의 버퍼로 구성되며, 상기 한 쌍의 버퍼들의 또다른 입출력단자는 메모리 블럭들에 각각 접속된 메모리 버스에 각각 분리 접속됨을 특징으로 하는 프로세서간의 통신 시스템 장치.
  4. 제2항 또는 제3항에 있어서, 상기 로테이션 버스 마스터는 제1프로세서 및 이에 이웃하는 제2프로세서로부터 각각 출력되는 준비신호를 시스템 클럭에 의해 각각 래치하는 제1 및 제2플립플롭과, 상기 제1 및 제2플립플롭의 비반전출력들 및 반전단자들로부터 각각 출력되는 신호들을 각각 논리곱하여 출력하는 제1, 제2앤드게이트와, 상기 제1앤드게이트의 출력을 상기 시스템 클럭에 의해 지연 출력하는 제3 및 제4플립플롭과, 상기 제4플립플롭의 입력과 출력을 논리곱하여 두 신호의 레벨이 활성화일 때 개시신호를 상기 두 개의 프로세서로 공급하는 제3앤드게이트와, 상기 제2앤드게이트로부터 출력되는 신호와 동기/비동기 선택신호를 논리곱하여 초기화 신호를 상기 두 개의 프로세서로 공급하는 제4앤드게이트 및 상기 앤드 게이트의 출력이 활성화 상태에 있을 때 상기 시스템의 클럭에 의해 토글되어 메모리 블럭을 로테이트 시키는 신호를 발생하는 토클수단으로 구성함을 특징으로 하는 프로세서간의 통신 시스템.
  5. 어드레스, 데이타 및 제어신호들을 가지는 프로세서 버스에 각각 연결되어 서로 다른 고유의 기능을 수행하는 다수의 프로세서 모듈들 상호간의 메세지를 송수신하는 프로세서간의 통신 시스템에 있어서,
    상기 프로세서 모듈들에 각각 접속된 프로세서 버스들과 어드레스 및 제어 신호의 입력에 의해 데이타를 메모리 영역에 억세스하는 메모리 블럭들에 각각 접속된 메모리 버스들의 사이에 접속되며, 이웃하는 두 프로세서 모듈들로부터의 핸드쉐이크 신호의 입력에 응답하여 상기 프로세서 모듈들과 메모리 블럭들간에 접속된 프로세서 버스와 메모리 버스를 로테이트시키는 로테이션 버스 인터페이스 모듈과;
    어드레스, 데이타 및 제어 신호선들을 포함하는 상기 프로세서 버스에 접속되며, 상기 프로세서로부터 출력되는 데이타를 일시 저장하는 리포팅 버퍼 및 입력되는 데이타를 일시 저장하는 오퍼레이션 버퍼와;
    상기 이웃하는 로테이션 버스 인터페이스 모듈들의 사이에 접속되어 상기 입력측 로테이션 버스 인터페이스 모듈로부터의 메세지 데이타를 억세스하여 상기 오퍼레이션 버퍼 및 상기 출력 로테이션 버스중 하나에 택일적으로 공급하고, 상기 리포팅 버퍼로부터의 메세지를 상기 출력측 로테이션 버스 인터페이스 모듈측에 공급하는 메세지 패싱 콘트롤러로 구성함을 특징으로 하는 프로세서간의 통신 시스템.
  6. 제5항에 있어서, 상기 로테이션 버스 인터페이스 모듈은 일측이 상기 메세지 패싱 콘트롤러에 각각 공통으로 접속되고 타측이 상기 메모리 블럭들 각각에 접속된 메모리 버스에 각각 분리 접속되어 제1 및 제2제어신호에 응답하여 타측에 접속된 메모리 버스를 스위칭하여 일측에 공통 접속된 메세지 패싱 콘트롤러로 로테이트하는 제1 및 제2버퍼와, 이웃하는 두 개의 프로세서 모듈로부터 출력되는 핸드쉐이크 신호에 의해 상기 두 프로세서 모듈들 및 이들에 접속된 메모리 블럭들의 사이의 버스들을 로테이트시키기 위한 제1 및 제2제어신호를 발생하는 로테이션 버스 마스터로 구성함을 특징으로 하는 프로세서간의 통신 시스템 장치.
  7. 제6항에 있어서, 상기 제1 및 제2버퍼들 각각은 메세지 패싱 콘트롤러에 공통으로 접속된 한 쌍의 버퍼로 구성되며, 상기 한 쌍의 버퍼들의 또다른 입출력단자는 메모리 블럭들에 각각 분리 접속됨을 특징으로 하는 프로세서간의 통신 시스템 장치.
  8. 제5항 내지 제7항중 어느 하나의 항에 있어서, 상기 메세지 패싱 컨트롤러는 입력측 로테이션 버스 인터페이스 모듈로부터 메세지 헤더를 억세스하여 그 메세지가 유효하지 않은 경우에는 리포팅 버퍼내의 메세지를 상기 출력 로테이션 버스 인터페이스로 전송하고, 상기 억세스된 메세지 헤더 메세지가 유효한 경우에는 상기 오퍼레이션 버퍼에 저장하거나 상기 출력 로테이션 버스 인터페이스로 전송함을 특징으로 하는 프로세서간의 통신 시스템.
KR1019980029037A 1997-12-29 1998-07-18 프로세서간의 통신 시스템 KR100303461B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US09/166,232 US6226706B1 (en) 1997-12-29 1998-10-05 Rotation bus interface coupling processor buses to memory buses for interprocessor communication via exclusive memory access
US09/729,244 US6336145B2 (en) 1997-12-29 2000-12-05 Interprocessor communication interface with message unit coupled to next interface and to internal receive and send buffer

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
KR19970076049 1997-12-29
KR19970076050 1997-12-29
KR1019970076050 1997-12-29
KR1019970076049 1997-12-29
KR97-76049 1997-12-29
KR97-76050 1997-12-29

Publications (2)

Publication Number Publication Date
KR19990062456A KR19990062456A (ko) 1999-07-26
KR100303461B1 true KR100303461B1 (ko) 2001-09-24

Family

ID=37529758

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980029037A KR100303461B1 (ko) 1997-12-29 1998-07-18 프로세서간의 통신 시스템

Country Status (1)

Country Link
KR (1) KR100303461B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180124340A (ko) 2017-05-11 2018-11-21 엘에스산전 주식회사 프로그래머블 논리 제어 장치

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960001270B1 (ko) * 1992-06-26 1996-01-25 삼성전자주식회사 리던던시를 갖는 통신제어회로

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR960001270B1 (ko) * 1992-06-26 1996-01-25 삼성전자주식회사 리던던시를 갖는 통신제어회로

Also Published As

Publication number Publication date
KR19990062456A (ko) 1999-07-26

Similar Documents

Publication Publication Date Title
US4536873A (en) Data transmission system
JPH05205005A (ja) ロジック・シミュレーション・マシン用ホスト・インタフェース
CN101282860A (zh) 用于把具有微控制器的FlexRay用户通过FlexRay通信控制装置连接到FlexRay通信连接上的方法、以及用于实现该方法的FlexRay通信控制装置、FlexRay用户和FlexRay通信系统
JP2008310832A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
CN114546913A (zh) 一种基于pcie接口的多主机之间数据高速交互的方法和装置
CN112445735A (zh) 一种联邦学习数据传输方法、计算机设备、系统及存储介质
US6226706B1 (en) Rotation bus interface coupling processor buses to memory buses for interprocessor communication via exclusive memory access
KR100956304B1 (ko) 디지털 전자 회로 및 시스템
CN204390227U (zh) 计算设备扩展装置、以及可扩展的计算系统
KR100303461B1 (ko) 프로세서간의 통신 시스템
US20080181242A1 (en) Communications gateway between two entities
US6546451B1 (en) Method and apparatus for decoupling processor speed from memory subsystem speed in a node controller
CN104598404A (zh) 计算设备扩展方法和装置、以及可扩展的计算系统
KR100947446B1 (ko) Vliw 프로세서
CN116483259A (zh) 一种数据处理方法以及相关装置
Scott The SCX channel: A new, supercomputer-class system interconnect
CN208190652U (zh) 一种全双工通用同步异步串行收发器的主板
CN115604198B (zh) 一种网卡控制器、网卡控制方法、设备及介质
KR102270261B1 (ko) Mmi 인터페이스 장치 및 그에 기반한 컴퓨팅 시스템
KR100313933B1 (ko) 데이터전송제어장치
US20230176932A1 (en) Processor, information processing apparatus, and information processing method
CN112740192B (zh) 大数据运算加速系统及数据传输方法
JPH064401A (ja) メモリアクセス回路
JPS59214359A (ja) バケツト交換方式
US5339312A (en) Station interface unit

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

Year of fee payment: 13

FPAY Annual fee payment

Payment date: 20140627

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20150629

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee