KR930004903B1 - 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀 및 통신방법 - Google Patents
데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀 및 통신방법 Download PDFInfo
- Publication number
- KR930004903B1 KR930004903B1 KR1019900016572A KR900016572A KR930004903B1 KR 930004903 B1 KR930004903 B1 KR 930004903B1 KR 1019900016572 A KR1019900016572 A KR 1019900016572A KR 900016572 A KR900016572 A KR 900016572A KR 930004903 B1 KR930004903 B1 KR 930004903B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- decoder
- processor
- main processor
- output terminal
- Prior art date
Links
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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/002—Arrangements for interconnection not involving centralised switching with subscriber controlled access to a line, i.e. key telephone systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
- Computer And Data Communications (AREA)
Abstract
내용 없음.
Description
제1도는 본 발명에 의한 데이타 버스를 이용한 프로세서간 병렬데이타 통신시스팀의 구성도.
제2도는 본 발명에 의한 데이타 버스를 이용한 프로세서간 병렬데이타 통신방법의 수행 흐름도.
* 도면의 주요부분에 대한 부호의 설명
1,2 : 마이크로 프로세서(CPU) 3 : 데이타 트랜시버
4,5 : 플립플롭 6,7,8 : 디코더
9,10 : NOR 게이트 11 : 인버터
본 발명은 키폰시스템 등에서 데이타 버스를 이용하여 프로세서간 병렬 통신을 수행하는 방식에 관한 것으로, 특히 메인 프로세서와 로컬 프로세서 간의 데이타를 데이타 버스를 이용하여 병렬로 통신하는 데이타 통신시스팀 및 통신방법에 관한 것이다.
종래의 프로세서간 통신 수행시, 각 프로세서(CPU)에 통신을 위해 구비된 송수신 단자(TxD, RxD)를 이용하는 경우에는 직렬식 통신이 가능하여 비교적 빠른 전송속도로 직렬통신을 수행할 수 있었다. 그러나, 일반 포트를 이용할 경우에는 병렬통신을 위한 다수의 핀을 확보할 수 없었기 때문에, 보통 직렬식 통신을 행함으로써 데이타의 전송이 늦어지고 마이크로 프로세서의 성능이 저하되는 커다란 문제점을 내포하고 있었다.
따라서, 본 발명은 상기 문제점을 해결하기 위해 안출된 것으로서, 프로세서간 통신을 위해 별도의 전용 데이타 버스를 사용하지 않고, 메인 프로세서와 로컬 프로세서간에 연결된 데이타 버스를 이용하여 병렬로 데이타를 통신할 수 있도록 하여, 그 전송속도를 현저하게 향상시키는 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀 및 통신방법을 제공함에 그 목적을 두고 있다.
본 발명은 상기 목적을 달성하기 위하여, 로컬 프로세서 및 메인 프로세서간의 데이타를 교환하기 위한 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀에 있어서, 상기 로컬 프로세서에 연결되어 있으며, 양방향의 데이타 전송을 수행하는 제1데이타 버스 ; 상기 제1데이타 버스에 연결되어 있으며, 전송할 데이타를 일시적으로 저장하는 데이타 트랜시버 ; 상기 메인 프로세서 및 데이타 트랜시버 간에 연결되어 있으며, 양방향의 데이타 전송을 수행하는 제2데이타 버스 ; 상기 로컬 프로세서에 연결되어 있으며, 읽기 및 쓰기 제어신호를 논리처리하여 상기 데이타 트랜시버로 출력하는 논리수단 ; 상기 메인 프로세서에 연결된 제1디코더 ; 상기 메인 프로세서의 쓰기제어신호 출력단 및 상기 제1디코더 출력단에 입력단이 연결되어 있으며, 상기 데이타 트랜시버에 그 출력단이 연결된 제2디코더 ; 상기 메인 프로세서의 읽기 제어신호 출력단 및 상기 제1디코더 출력단에 입력단이 연결되어 있으며, 상기 데이타 트랜시버에 그 출력단이 연결된 제3디코더 ; 상기 논리수단 및 제3디코더에 입력단이 연결되고, 상기 로컬 프로세서의 일 제어신호 입력단 및 상기 메인 프로세서의 인터럽트 단자에 그 출력단이 연결된 제1플립플롭 ; 및 상기 논리수단 및 제2디코더에 입력단에 연결되고, 상기 로컬 프로세서의 인터럽트 단자 및 상기 메인 프로세서의 일 제어신호 입력단에 그 출력단이 연결된 제2플립플롭을 포함하고 있는 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀을 제공한다.
또한, 상기 병렬 데이타를 통신시스팀을 이용한 데이타 통신방법에 있어서, 상기 로컬 프로세서에서 내부 인터럽트를 발생시켜 출력하는 제1단계 ; 상기 메인 프로세서로 전송할 데이타를 상기 제1데이타 버스로 출력하여 상기 데이타 트랜시버에 일시적으로 기억시키는 제2단계 ; 상기 메인 프로세서의 인터럽트 루틴이 수행되어 상기 데이타를 읽어 들이는 제3단계 ; 상기 제3단계 수행 후, 입력된 데이타가 마지막 메시지인지 체크하여, 마지막 메시지가 입력될 때까지 상기 제2 및 제3단계를 반복수행하는 제4단계 ; 상기 로컬 프로세서로 전송할 데이타를 상기 제2데이타 버스로 출력하여 데이타 트랜시버에 일시적으로 기억시키는 제5단계 ; 상기 로컬 프로세서가 데이타 트랜시버에 저장된 데이타를 읽어 지정된 내부 메모리에 저장하는 제6단계 ; 및 상기 로컬 프로세서측에서 마지막 메시지가 입력될 때까지 상기 제5 및 제6단계를 반복하여 처리하는 제7단계를 포함하여 수행되는 데이타 버스를 이용한 프로세서간 병렬 데이타 통신방법을 제공한다.
이하, 첨부한 도면을 참조하여 본 발명의 일실시예를 상세히 설명한다.
제1도는 본 발명에 의한 데이타 통신시스팀의 구성도로서, 도면에서 1은 로컬 프로세서, 2는 메인 프로세서, 3은 데이타 트랜시버, 4 및 5는 플립플롭, 6, 7 및 8은 디코더, 9 및 10은 노어(NOR) 게이트, 11은 인버터를 각각 나타낸 것이다.
본 발명에 의한 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀은 도면에 도시된 바와같이, 메인 프로세서(2)(이하, 간단히 “CPU2”라 한다)에 8개의 양방향 전송라인을 구비한 데이타 버스가 연결되고, 상기 데이타 버스의 다른 한측 끝단에는 데이타 트랜시버(3)가 연결된다. 그리고, 마찬가지로 상기 데이타 트랜시버(3)와 로컬 프로세서(1)(이하, 간단히 “CPU1”이라 한다)간에도 8개의 양방향 전송라인을 구비한 또다른 데이타 버스가 연결된다.
또한, 상기 CPU1(1)의 어드레스 단자(A15)에 인버터(11)가 연결되어, 상기 인버터(11)의 출력과 CPU1(1)의 쓰기신호를 노어(NOR) 게이트(9)를 통해 반전 논리합한 신호가 상기 데이타 트랜시버(3)에 입력되고, 상기 인버터(11)의 출력과 CPU1(1)의 읽기 신호를 NOR 게이트(10)를 통해 반전 논리합한 신호가 상기 데이타 트랜시버(3)에 입력된다.
그리고, 상기 두 NOR 게이트(9, 10)의 출력이 각각 플립플롭(4, 5)의 세트, 리세트 단자에 인가되도록 연결되며, 상기 플립플롭(4, 5)의 비반전 출력단자(Q)는 상기 CPU1(1)의 및 출력포트(P3, 4)와 인터럽트 단자에 연결되고, 그 반전 출력단자(Q)는 상기 CPU2(2)의 인터럽트 단자와 포트(P3, 4)에 연결된다.
또한, 상기 데이타 트랜시버(3), 플립플롭(5) 및 CPU2(2) 각각에는 디코더(6)를 연결하고, 상기 데이타 트랜시버(3), 플립플롭(4), CPU2(2) 및 디코더(6) 각각에는 다른 디코더(7)를 연결하며, 상기 디코더(6) 및 CPU2(2)에는 또다른 디코더(8)를 연결하여 구성한다.
그리고, 본 발명은 일정 주기마다 메인 프로세서인 CPU2(2)와 로컬 프로세서인 CPU1(1) 사이에서 상기의 데이타 버스를 사용하여 상호 데이타 통신을 수행하는 것으로서, 먼저 CPU1(1)에서 타이머를 이용한 내부 인터럽트를 사용하여 일정주기마다 상기 CPU2(2)에 외부 인터럽트를 요구함으로써, 데이타 통신을 수행할 수 있게 하는 것이다.
즉, 상기 CPU2(2) 및 CPU1(1)에 각각 연결된 두 데이타 버스와, 상기 두 데이타 버스간에 연결된 데이타 트랜시버(3)을 사용하여 데이타 통신을 수행하는 것으로서, 어느 한쪽의 프로세서가 상기 데이타 트랜시버(3)에 전송하고자 하는 데이타를 기억시키면, 그 상대측 프로세서가 데이타 트랜시버(3)에 저장된 데이타를 읽어들여 지정된 메모리에 저장함으로써 프로세서간 통신을 수행하는 것이다.
제2도는 본 발명에 의한 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀을 이용한 통신방법의 수행 흐름도로서, 이를 참조하여 본 발명의 일실시예 동작을 더욱 설명하면 다음과 같다.
먼저, CPU1(1)로부터 내부 인터럽트가 출력된 후, CPU2(2)로 전송할 데이타를 데이타 트랜시버(3)로 쓰기동작을 통해 출력하여 일시적으로 기억시킨다(100, 110). 그러면, 플립플롭(4)에 의해 CPU1(1)의 포트(P3, 4)가 로우(Low)상태에서 하이(High)상태로 변하고, CPU2(2)의 인터럽트 단자가 하이상태에서 로우상태로 변한다. 이때 전송되는 데이타가 최초의 데이타일 때는 CPU2(2)의 외부 인터럽트 루틴이 수행되면서 데이타 통신을 시작한다(120).
그리고 나서, CPU1(1)에서 쓰기동작으로 출력된 데이타를 CPU2(2)가 읽을 때까지, 상기 CPU1(1)은 계속 포트(P3, 4)를 검색한다. 이때, 상기 CPU2(2)가 데이타를 읽어가면, 플립플롭(4)에 의해서 CPU1(1)의 포트(P3, 4)가 하이상태에서 로우상태로 변하고, CPU2(2)의 인터럽트 단자도 로우상태에서 하이상태로 변한다.
그리고, 상기 CPU1(1)이 다시 데이타를 전송하기 위해 쓰기동작을 할 때까지, CPU2(2)의 인터럽트 단자가 플립플롭(4)에 의해 하이상태를 유지한다(130).
상기 CPU2(2)는 읽어들인 데이타가 마지막 메세지인지 체크하여, 아닐 경우 인터럽트단자를 검색하고, 마지막 메세지를 읽어들일 때까지 CPU1(1)에서 CPU2(2)에 데이타를 전송하기 위해 처리하는 상기 과정(110, 120, 130)을 반복 수행한다(140).
그리하여 CPU1(1)이 마지막 메세지를 쓰기동작으로 출력하면, CPU1(1)은 데이타를 받는 상태가 되고, CPU2(2)는 CPU1(1)에 데이타를 전송하게 된다.
그리고 나서, 이번에는 CPU2(2)에서 CPU1(1)에 전송할 데이타를 데이타 트랜시버(3)에 쓰기동작을 통해 출력하여 일시적으로 기억시킨다(150). 그러면, 플립플롭(5)에 의해 상기 CPU2(2)의 포트(P3, 4)가 하이상태에서 로우상태로 변하고, CPU1(1)의 인터럽트 단자가 로우상태에서 하이상태로 변한다.
상기 CPU2(2)는 자신이 쓰기동작으로 출력한 데이타가 상기 CPU1(1)에 의해 읽혀질 때까지 상기 포트(P3, 4)를 체크한다. 이때, 상기 CPU1(1)이 데이타를 읽어가면, 플립플롭(5)에 의해 CPU2(2)의 포트(P3, 4)가 로우상태에서 하이상태로 변하고, CPU1(1)의 인터럽트 단자는 하이상태에서 로우상태로 변한다.
그리고 나서, 상기 CPU2(2)가 다시 데이타를 전송하기 위해 쓰기동작을 할 때까지, CPU1(1)의 인터럽트 단자는 플립플롭(5)에 의해 로우상태를 유지한다(160, 170). 이때 상기 CPU1(1)은 읽어 들인 데이타가 마지막 메시지인지 체크하여, 아닐 경우에는 상기 인터럽트 단자를 검색하고 마지막 메세지를 읽어들일 때까지 CPU2(2)에서 CPU1(1)에 데이타를 전송하기 위해 수행되는 상기 과정(150, 160, 170)을 반복한다(180).
본 발명은 상기한 바와 같은 과정을 일정주기마다 반복함으로써 CPU1(1)과 CPU2(2) 간의 데이타 통신을 수행하는 것이다.
상기와 같이 구성되어 작동하는 본 발명은 키폰시스팀과 같이 하나의 보드상에서 2개의 마이크로 프로세서가 채용되는 경우에 적용되는 매우 유용한 발명으로서, 간단한 회로로 구성되어 있기 때문에 그 구현이 용이하며, 아울러 프로세서간의 데이타 전송속도를 크게 증가시켜, 채용된 마이크로 프로세서의 성능을 현저하게 향상시키는 효과를 갖는다.
Claims (2)
- 로컬 프로세서(1) 및 메인 프로세서(2)간의 데이타를 교환하기 위한 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀에 있어서, 상기 로컬 프로세서(1)에 연결되어 있으며, 양방향의 데이타 전송을 수행하는 제1데이타 버스 ; 상기 제1데이타 버스에 연결되어 있으며, 전송할 데이타를 일시적으로 저장하는 데이타 트랜시버(3) ; 상기 메인 프로세서(2) 및 데이타 트랜시버(3) 간에 연결되어 있으며, 양방향의 데이타 전송을 수행하는 제2데이타 버스 ; 상기 로컬 프로세서(1)에 연결되어 있으며, 읽기 및 쓰기 제어신호를 논리처리하여 상기 데이타 트랜시버(3)로 출력하는 논리수단(9, 10) ; 상기 메인 프로세서(2)에 연결된 제1디코더(8) ; 상기 메인 프로세서(2)의 쓰기 제어신호 출력단 및 상기 제1디코더 출력단에 입력단이 연결되어 있으며, 상기 데이타 트랜시버(3)에 그 출력단이 연결된 제2디코더(6) ; 상기 메인 프로세서(2)의 읽기 제어신호 출력단 및 상기 제1디코더 출력단에 입력단이 연결되어 있으며, 상기 데이타 트랜시버(3)에 그 출력단이 연결된 제3디코더(7) ; 상기 논리수단 및 제3디코더에 입력단이 연결되고, 상기 로컬 프로세서(1)의 일 제어신호 입력단 및 상기 메인 프로세서(2)의 인터럽트 단자에 그 출력단이 연결된 제1플립플롭(4) ; 및 상기 논리수단 및 제2디코더에 입력단이 연결되고, 상기 로컬 프로세서(1)의 인터럽트 단자 및 상기 메인 프로세서(2)의 일제어신호 입력단에 그 출력단이 연결된 제2플립플롭(5) ; 을 포함하고 있는 것을 특징으로 하는 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀.
- 로컬 프로세서(1) 및 메인 프로세서(2)간의 데이타를 교환하기 위하여, 상기 로컬 프로세서(1)에 연결되어 양방향의 데이타 전송을 수행하는 제1데이타 버스, 상기 제1데이타 버스에 연결되어 전송할 데이타를 일시적으로 저장하는 데이타 트랜시버(3),, 상기 메인 프로세서(2) 및 데이타 트랜시버(3) 간에 연결되어 양방향의 데이터 전송을 수행하는 제2데이타 버스 , 상기 로컬 프로세서(1)에 연결되어 읽기 및 쓰기 제어신호를 논리처리하여 상기 데이타 트랜시버(3)로 출력하는 논리수단(9, 10), 상기 메인 프로세서(2)에 연결된 제1디코더(8), 상기 메인 프로세서(2)의 쓰기제어신호 출력단 및 상기 제1디코더 출력단에 입력단이 연결되어 있으며 상기 데이타 트랜시버(3)에 그 출력단이 연결된 제2디코더(6), 상기 메인 프로세서(2)의 읽기 제어신호 출력단 및 상기 제1디코더 출력단에 입력단이 연결되어 있으며 상기 데이타 트랜시버(3)에 그 출력단이 연결된 제3디코더(7), 상기 논리수단 및 제3디코더에 입력단이 연결되고 상기 로컬 프로세서(1)의 일 제어신호 입력단 및 상기 메인 프로세서(2)의 인터럽트 단자에 그 출력단이 연결된 제1플립플롭(4), 및 상기 논리수단 및 제2디코더에 입력단이 연결되고 상기 로컬 프로세서(1)의 인터럽트 단자 및 상기 메인 프로세서(2)의 일 제어신호 입력단에 그 출력단이 연결된 제2플립플롭(5)을 구비하고 있는 병렬 데이타 통신시스팀의 데이타 통신방법에 있어서, 상기 로컬 프로세서(1)에서 내부 인터럽트를 발생시켜 출력하는 제1단계, 상기 메인 프로세서(2)로 전송할 데이타를 상기 제1데이타 버스로 출력하여 상기 데이타 트랜시버(3)에 일시적으로 기억시키는 제2단계 ; 상기 메인 프로세서(2)의 인터럽트 루틴이 수행되어 상기 데이타를 읽어 들이는 제3단계 ; 상기 제3단계 수행 후, 입력된 데이타가 마지막 메시지인지 체크하여, 마지막 메시지가 입력될 때까지 상기 제2 및 제3단계를 반복수행하는 제4단계 ; 상기 로컬 프로세서(1)로 전송할 데이타를 상기 제2데이타 버스로 출력하여 데이타 트랜시버(3)에 일시적으로 기억시키는 제5단계 ; 상기 로컬 프로세서(1)가 데이타 트랜시버(3)에 저장된 데이타를 읽어 지정된 내부 메모리에 저장하는 제6단계 ; 및 상기 로컬 프로세서(1)측에서 마지막 메시지가 입력될 때까지 상기 제5 및 제6단계를 반복하여 처리하는 제7단계 ; 를 포함하여 수행되는 것을 특징으로 하는 데이타 버스를 이용한 프로세서간 병렬 데이타 통신 방법.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019900016572A KR930004903B1 (ko) | 1990-10-18 | 1990-10-18 | 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀 및 통신방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019900016572A KR930004903B1 (ko) | 1990-10-18 | 1990-10-18 | 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀 및 통신방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR920008610A KR920008610A (ko) | 1992-05-28 |
KR930004903B1 true KR930004903B1 (ko) | 1993-06-10 |
Family
ID=19304805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019900016572A KR930004903B1 (ko) | 1990-10-18 | 1990-10-18 | 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀 및 통신방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR930004903B1 (ko) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100382845B1 (ko) * | 2000-12-08 | 2003-05-09 | 박종덕 | 약재 액의 진공 저온 추출방법 |
-
1990
- 1990-10-18 KR KR1019900016572A patent/KR930004903B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR920008610A (ko) | 1992-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5568619A (en) | Method and apparatus for configuring a bus-to-bus bridge | |
US6789183B1 (en) | Apparatus and method for activation of a digital signal processor in an idle mode for interprocessor transfer of signal groups in a digital signal processing unit | |
EP0242879B1 (en) | Data processor with wait control allowing high speed access | |
US6496517B1 (en) | Direct attach of interrupt controller to processor module | |
EP0522582A2 (en) | Memory sharing for communication between processors | |
KR930004903B1 (ko) | 데이타 버스를 이용한 프로세서간 병렬 데이타 통신시스팀 및 통신방법 | |
KR910001708B1 (ko) | 중앙처리장치 | |
KR19980068130A (ko) | 공유메모리를 이용한 데이터 액세스 제어장치 | |
CN116561036B (zh) | 数据访问控制方法、装置、设备及存储介质 | |
KR100190184B1 (ko) | 직렬버스를 통해 데이타를 송신하는 회로 | |
KR100310298B1 (ko) | 데이터 전송 제어 회로 | |
KR900003592B1 (ko) | 메인제어부와 서브제어부간 래치와 직접메모리 억세스 방식을 사용한 프로세서간 통신장치 및 방법 | |
JPS6347867A (ja) | デユアルcpu間通信方式 | |
KR100308146B1 (ko) | 음성인식시스템의메시지처리방법 | |
KR0170742B1 (ko) | 엠버스를 이용한 데이터 전송 방법 | |
KR100244885B1 (ko) | 다중인터럽트통신회로 | |
JPS63257856A (ja) | シリアル通信方式 | |
KR940006296Y1 (ko) | 2개의 cpu간 데이타 전송회로 | |
JPH03132857A (ja) | 複数cpu間データ転送回路 | |
Johnson | A Microcontrolled DMA with a Versatile Linked List Capability for LAN Gateway Applications | |
KR950012514B1 (ko) | 이중포트 지원 및 vme인터페이스를 위한 버퍼램제어기 | |
JPS6315953Y2 (ko) | ||
JPH02211571A (ja) | 情報処理装置 | |
JPH0743690B2 (ja) | アクセスプライオリティ制御システム | |
JPH036762A (ja) | イメージメモリのダイレクトアクセス方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
G160 | Decision to publish patent application | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20020517 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |