KR920009437B1 - Communication system between processor - Google Patents
Communication system between processor Download PDFInfo
- Publication number
- KR920009437B1 KR920009437B1 KR1019890019657A KR890019657A KR920009437B1 KR 920009437 B1 KR920009437 B1 KR 920009437B1 KR 1019890019657 A KR1019890019657 A KR 1019890019657A KR 890019657 A KR890019657 A KR 890019657A KR 920009437 B1 KR920009437 B1 KR 920009437B1
- Authority
- KR
- South Korea
- Prior art keywords
- processor
- signal
- communication
- enable signal
- bus
- 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/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
- G06F13/364—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using independent requests or grants, e.g. using separated request and grant lines
-
- 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/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1605—Handling requests for interconnection or transfer for access to memory bus based on arbitration
- G06F13/1652—Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
-
- 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
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- 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
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
Abstract
Description
제1도는 종래의 프로세서간 통신 시스템의 불럭 구성도.1 is a block diagram of a conventional interprocessor communication system.
제2도는 본 발명에 따른 프로세서간 통신 시스템의 블럭 구성도.2 is a block diagram of an interprocessor communication system according to the present invention.
제3도는 본 발명에 따른 듀얼포트 통신회로의 일실시예의 회로도.3 is a circuit diagram of one embodiment of a dual port communication circuit according to the present invention.
제4도는 본 발명에 따른 다른 실시예의 프로세서간 통신 시스템의 블럭구성도.4 is a block diagram of an interprocessor communication system according to another embodiment of the present invention.
* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for the main parts of the drawings
10 : 메인 CPU 20 : 제1서브 CPU10: main CPU 20: first sub CPU
30 : 제n서브 CPU 40 : 통신 레지스터30: n sub CPU 40: communication register
50 : 버스 중재부 60 : 버퍼부50: bus arbitration unit 60: buffer unit
F1, F2 : 제1, 제2플립플롭 B1, B2 : 제1, 제2버퍼F1, F2: 1st, 2nd flip flop B1, B2: 1st, 2nd buffer
G1 : 인버터 R1, R2 : 저항G1: Inverter R1, R2: Resistance
본 발명은 프로세서(processor)간 듀얼포트(dual port) 통신회로에 관한 것으로, 특히 실시간 처리 시스템(system)에 있어서 프로세서 사이의 통신을 효율적으로 할 수 있도록 하는 프로세서간 듀얼포트 통신회로에 관한 것이다.BACKGROUND OF THE
현재 실시간 처리 시스템에서는 많은 프로세서를 사용하여 각 프로세서별로 역할을 분담하여 처리함에 따라 처리 결과를 반드시 한 프로세서가 집결시켜야만 시스템의 전반적인 처리를 할 수 있게 되어 있다. 이때 각 프로세서간에 일을 분담하여 처리하고 처리 결과를 집결시키려면 프로세서간 통신이 필요하다.In the current real-time processing system, as many processors are used to divide and process roles for each processor, processing results must be collected by one processor to perform the overall processing of the system. At this time, it is necessary to communicate between processors in order to divide the work between the processors and to aggregate the processing results.
한편 상기 실시간 처리 시스템에서의 프로세서간 통신은 FIFO(First In First Out) 또는 SIO(Serial Input Output) 및 공통메모리(commonmemory) 방식을 이용하였다. 상기 FIFO 방식과 SIO 방식은 시스템 구조가 아주 단순할 때 주로 사용하였다. 상기와 같은 방식은 프로세서간 통신 채널(channel)이 각각 하나씩 이어야 하므로 다수의 프로세서가 있을때는 프로세서간 통신 채널이 프로세서 수량만큼 더 증가하여 그물망(mesh)형태의 구조가 됨으로써 접속관계가 복잡해진다. 또한 프로세서가 통신을 하기 위해서 오버헤드(over head)가 많아지므로 시스템의 성능이 떨어진다.On the other hand, the inter-processor communication in the real-time processing system used FIFO (First In First Out) or SIO (Serial Input Output) and common memory (commonmemory). The FIFO method and the SIO method were mainly used when the system structure was very simple. In the above-described method, since the communication channel between processors must be one by one, when there are a plurality of processors, the communication relationship between the processors increases by the number of processors and becomes a mesh-type structure, which makes the connection relationship complicated. In addition, the processor has a lot of overhead in order to communicate, so the performance of the system is reduced.
따라서 시스템의 구조가 복잡한 경우에는 공통 메모리 방식을 주로 사용한다.Therefore, when the structure of the system is complicated, the common memory method is mainly used.
제1도는 종래의 공통 메모리 방식을 사용한 프로세서간 통신 시스템의 블록구성도로서, 제1CPU(Central Processing Uint)(2)에서 제nCPU(5)까지 모두 공통메모리(1)를 사용하여 서로 통신한다. 또한 상기 제1CPU(1)에서 제nCPU(5)까지 통신을 하려면 일단 서로 경합을 하여 버스(bus)를 잡은 후에 공통메모리(1)에 정보를 읽거나 쓰거나 한다.FIG. 1 is a block diagram of an interprocessor communication system using a conventional common memory system, and all of the first central processing units (CPUs) 2 to n-th CPUs 5 use a
한편 상기 제1-제nCPU(2-5)가 서로 정보를 전달하는 시점은 인터럽트(interrOn the other hand, the first time the first n-th CPU (2-5) transfers information to each other is an interrupt (interr
upt) 방식을 사용하거나 상기 공통메모리(1)를 주기적으로 폴링(polling)하여 그 시점을 알수 있다. 그러나 이 방식은 일단 버스를 잡는 과정이 필요하며 정보를 주고 받는 시점을 알아야 하므로 시스템의 성능을 떨어 뜨린다.upt) or by polling the
상기와 같이 공통메모리 방식을 사용하는 프로세서간 통신은 공통메모리를 통하여 정보를 주고 받음으로써 프로세서간에 버스를 잡기 위해서 경합을 해야 한다. 따라서 버스를 잡는 시간을 낭비하며 버스 경합으로 인하여 노이즈를 발생시켜 시스템의 신뢰성을 저하시키는 문제점이 있었다.As described above, the interprocessor communication using the common memory system has to compete for catching the bus between the processors by transmitting and receiving information through the common memory. Therefore, there is a problem in that it wastes time to hold the bus and generates noise due to bus contention, thereby lowering the reliability of the system.
따라서 본 발명의 목적은 다수의 프로세서를 이용한 실시간 처리 시스템에 있어서, 메인 프로세서가 버스를 독점하여 프로세서간의 통신을 효율적으로 할 수 있도록 할 수 있는 프로세서간 듀얼포트 통신회로를 제공함에 있다.Accordingly, an object of the present invention is to provide a dual processor communication circuit between processors in a real time processing system using a plurality of processors, which enables a main processor to monopolize a bus to efficiently communicate between processors.
상기의 목적을 달성하기 위한 본 발명은 하나의 메인 프로세서와 해당 서브 프로세서의 의해 선택적으로 액세스(access)되는 통신 레지스터와, 상기 메인 프로세서와 상기 서브 프로세서로부터 상기 통신 레지스터를 액세스하고자 하는 제1액세스 요청신호 및 제2액세스 요청신호의 입력에 의해 상기 메인 프로세서와 상기 서브 프로세서의 액세스동작을 선택적으로 허용하는 제1인에이블(enable) 신호와 제2인에이블신호를 상호 배타적으로 발생하는 버스중재부와, 상기 버스중재부로부터 출력되는 제1인에이블신호와 제2인에이블신호에 의해 상기 메인 프로세서와 상기 서브 프로세서가 상기 통신 레지스터(40)에 정보를 리드(read) 및 라이트(writeIn order to achieve the above object, the present invention provides a communication register selectively accessed by one main processor and a corresponding subprocessor, and a first access request for accessing the communication register from the main processor and the subprocessor. A bus arbitration unit configured to mutually exclusively generate a first enable signal and a second enable signal for selectively allowing an access operation of the main processor and the subprocessor by input of a signal and a second access request signal; The main processor and the sub-processor read and write information to the
)하기 위한 각종 신호를 선택적으로 버퍼링(buffering)하는 버퍼부로 구성됨을 특징으로 한다.It is characterized by consisting of a buffer unit for selectively buffering (buffering) a variety of signals for.
이하 본 발명을 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.
제2도는 본 발명에 따른 프로세서간 통신 시스템의 블록 구성도로서, 실시간 처리 시스템의 버스를 독점하며 전반적인 제어를 담당하는 메인 프로세서인 메인 CPU(10)와, 각각 듀얼포트를 구비하여 상기 메인CPU(20)로부터 상기 듀얼 포트를 통하여 소정의 명령을 받아 각각 분담된 일을 처리하여 처리 결과를 상기 듀얼포트를 통하여 상기 메인 CUP(10)에 전송하는 소정수의 서브 프로세서인 제1-제n서브 CPU(20-30)로 구성된다.2 is a block diagram of an interprocessor communication system according to the present invention. The
제3도는 본 발명의 따른 듀얼포트 통신회로의 일실시예의 회로도로서, 서로 다른 프로세서인 제1CPU와 제2CPU에 의해 선택적으로 액세스되는 통신 레지스터(403 is a circuit diagram of an embodiment of a dual port communication circuit according to the present invention, in which a
)와, 상기 제1CPU와 상기 제2CPU로부터 상기 통신 레지스터(40)를 액세스 하고자 하는 제1액세스 요청신호(REQ1) 및 제2액세스 요청신호(REQ1)의 입력에 의해 상기 제1CPU와 상기 제2CPU의 액세스동작을 선택적으로 허용하는 제1인에이블신호와 제2인에이블신호를 상호 배타적으로 발생하는 버스 중재부(50)와, 상기 버스중재부(50) And by inputting a first access request signal REQ1 and a second access request signal REQ1 to access the
)로부터 출력되는 제1인에이블신호와 제2인에이블신호에 의해 상기 제1CPU와 상기 제2CPU가 상기 통신 레지스터(40)에 정보를 리드 및 라이트하기 위한 각종 신호를 선택적으로 버퍼링하는 버퍼부(60)로 구성된다.A
상기 제3도의 구성중 버스중재부(50)는 상기 제1CPU의 제1액세스 요청신호(In the configuration of FIG. 3, the
REQ1)를 일정 주기의 클럭펄스신호(clock pulse)(CLK)에 의해 래치하여 제1인에이블신호로서 출력하는 제1플립폴롭(Flip-Flop)(F1)과, 상기 클럭 펄스신호(CLK)를 발전시키는 인버터(G1)와, 상기 제2CPU의 제2액세스 요청신호(REQ2)를 상기 인버터A first flip-flop F1 that latches REQ1 by a clock pulse signal CLK of a predetermined period and outputs it as a first enable signal; and the clock pulse signal CLK. The inverter G1 for generating power and the second access request signal REQ2 of the second CPU;
(G1)에서 반전 출력되는 신호에 의해 래치하여 상기 제1플립폴롭(F1)의 제1인에이블신호와 상호 배타적인 제2인에이블신호로서 출력하는 제2플립플롭(F2)으로 구성된다.A second flip-flop F2 is latched by the signal inverted and output from G1 and output as a second enable signal mutually exclusive with the first enable signal of the first flip-flop F1.
버퍼부(60)는 상기 버스중재부(50)로부터 입력되는 제1인에이블신호에 의해 인에이블되어 상기 제1CPU가 상기 통신 레지스터(40)를 액세스하도록 하는 제1버퍼The
(B1)와, 상기 버스중재부(70)로부터 입력되는 제2인에이블신호에 의해 인에이블되어 상기 제2CPU가 상기 통신 레지스터(40)를 액세스하도록 하는 제2버퍼(B2)로 구성된다.(B1) and a second buffer (B2) enabled by the second enable signal input from the bus arbitration unit (70) to allow the second CPU to access the communication register (40).
이하 본 발명에 따른 제2도와 제3도의 동작예를 상세히 설명한다.Hereinafter, an operation example of FIGS. 2 and 3 according to the present invention will be described in detail.
지금 제2도에서 메인 CPU(10)가 소정의 명령을 출력하면, 제1-제n서브 CPU(2Now in FIG. 2, when the
0-30)는 제3도와 같은 듀얼포트를 통하여 메인 CPU(10)로부터 입력되는 명령을 받아 처리하며, 처리 결과를 듀얼포트의 통신레지스터(40)에 라이트시킨다. 또한 메인 CPU(10)는 상기 듀얼포트의 통신 레지스터(40)에 라이트된 데이타를 읽어 명령에 대한 상기 제1-제n서브 CPU(20-30)의 처리 결과를 분석하여 처리한다.0-30 receives and processes the command input from the
따라서 각각의 프로세서는 정보 전송을 위해서 각각 버스 경합하지 않고, 상기 메인 CPU(10)가 버스를 독점하여 상기 제1-제n서브 CPU(20-30)에 언제든지 명령을 내리며 명령에 대한 결과를 분석하여 시스템의 전반적인 동작을 제어함으로써 실시간 처리를 할 수 있게 된다.Therefore, each processor does not compete with each other for information transfer, but the
한편 상기와 같이 메인 CPU(10)와 소정수의 제1-n서브 CPU(20-30)간의 제3도와 같은 듀얼포트를 이용한 통신을 일예를 들어 상세히 설명하면 다음과 같다. 제3도에서 제1CPU와 제2CPU는 각각 메인프로세서 또는 서브 프로세서중에서 하나가 된다.Meanwhile, the communication using the dual port as shown in FIG. 3 between the
상기 제3도에서 제1CPU 또는 제2CPU가 각각 통신 레지스터(40)를 액세스하고자 각각 논리 "하이"의 제1, 제2액세스 요청신호(REQ1,REQ2)를 출력하면, 버스중재부(50)의 제1, 제2플립플롭(F1,F2)은 각각 상기 제1, 제2액세스 요청신호를 클럭펄스신호(CLK)에 의해 래치함으로써 각각의 반전출력단 (,)으로 "좌우"의 로우 제1, 제2인에이블 신호를 상호 배타적으로 출력한다. 여기서 제1플립플롭(F1)의 반전출력단()의 출력신호는 제2플립플롭(F2)의 클리어단(CLR)에 입력되고, 제2플립플롭(F2)의 반전 출력단()의 출력신호는 제1플립플롭(F1)의 클리어단(CLR)에 입력된다. 또한 제1, 제2플립플롭(F1,F2)에 입력되는 클럭펄스신호(CLK)의 위상이 인버터(G1)에 의해 서로 반대로 되므로 제1플립플롭(F1)에서 출력되는 제1인에이블신호에 의해 제1버퍼(B1)가 인에이블될때에는 제2플립플롭(F2)에서는 제2인에이블 신호가 출력되지 않으므로써 제2버퍼(B2)는 인에이블되지 않는다.In FIG. 3, when the first CPU or the second CPU outputs the first and second access request signals REQ1 and REQ2 of logic < RTI ID = 0.0 > high < / RTI > Each of the first and second flip-flops F1 and F2 latches the first and second access request signals by a clock pulse signal CLK, respectively. , ) Outputs the low first and second enable signals of " left, right " mutually exclusively. Here, the inverted output terminal of the first flip-flop F1 ( ) Is input to the clear terminal CLR of the second flip-flop F2, and the inverted output terminal of the second flip-flop F2 ) Is input to the clear terminal CLR of the first flip-flop F1. In addition, since the phases of the clock pulse signals CLK inputted to the first and second flip-flops F1 and F2 are opposite to each other by the inverter G1, the first enable signal output from the first flip-flop F1 is applied. When the first buffer B1 is enabled, the second buffer B2 is not enabled because the second enable signal is not output from the second flip-flop F2.
그러므로 제1CPU가 통신 레지스터(B2)를 액세스 할 수 있게 된다.Therefore, the first CPU can access the communication register B2.
또한 상기 제1CPU의 액세스 동작이 끝나 제1액세스 요청신호(REQ1)가 출력되지 않으면 제1플립플롭(F1)에서는 제1인에이블신호가 출력되지 않고 제2플립플롭(F2)에서 제2인에이블신호가 출력되므로 제2버퍼(B2)만이 인에이블된다. 그러므로 제2CPU가 상기 통신 레지스터(40)를 액세스할 수 있게 된다.In addition, when the first access request signal REQ1 is not output after the access operation of the first CPU is completed, the first enable signal is not output from the first flip-flop F1 and the second enable is performed from the second flip-flop F2. Since the signal is output, only the second buffer B2 is enabled. Therefore, the second CPU can access the
따라서 상기 버스중재부(50)가 상기 제1CPU의 제1액세스 요청신호(REQ1) 또는 제2CPU의 제2액세스 요청신호(REQ2)에 의해 버스를 중재하므로 버스 경합으로 인한 문제점을 방지할 수 있다.Therefore, the
제4도는 본 발명에 따른 다른 실시예의 프로세서간 통신 블록구성도로서, 상기 제2도와 동일하게 메인 CPU와, 듀얼포트를 구비한 소정수의 서브 CPU로 구성된 제1프로세서간 통신부(70)와, 상기 제1프로세서간 통신부(70)와 동일한 방식으로 구성된 제2프로세서간 통신부(80)와, 상기 제1프로세서간 통신부(70)와 상기 제2프로세서간 통신부(80)간의 통신을 하기 위한 수단인 듀얼포트(90)로 구성된다.4 is a block diagram of an interprocessor communication block according to another embodiment of the present invention. The first
상기 제4도의 구성은 실시간 처리 시스템에서 상기 제2도의 구성만으로 부족할 경우를 위한 것으로 제1프로세서간 통신부(70)와 제2프로세서간 통신부(80)는 각각 상기 제2도와 같은 기능을 동작을 수행하며 듀얼포트(90)에 의해 서로 통신을 하므로서 시스템의 성능을 배가 시킬수 있다.The configuration of FIG. 4 is for the case where the configuration of FIG. 2 is insufficient in the real-time processing system. The first
상술한 바와 같이 본 발명은 다수의 프로세서를 이용한 시스템에 있어서, 프로세서간 통신을 위한 듀얼포트 통신회로로서 시스템 전체를 제어하는 프로세서간 버스를 독점하여 듀얼포트를 통해 정보를 주고 받음으로써 프로세서간에 신속하고 신뢰성 있는 통신을 할 수 있는 잇점이 있다.As described above, the present invention is a dual port communication circuit for inter-processor communication in a system using a plurality of processors, by monopolizing the inter-processor bus that controls the entire system and exchanging information through the dual port, thereby enabling rapid and The advantage is reliable communication.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890019657A KR920009437B1 (en) | 1989-12-27 | 1989-12-27 | Communication system between processor |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019890019657A KR920009437B1 (en) | 1989-12-27 | 1989-12-27 | Communication system between processor |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910012941A KR910012941A (en) | 1991-08-08 |
KR920009437B1 true KR920009437B1 (en) | 1992-10-16 |
Family
ID=19293765
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019890019657A KR920009437B1 (en) | 1989-12-27 | 1989-12-27 | Communication system between processor |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR920009437B1 (en) |
-
1989
- 1989-12-27 KR KR1019890019657A patent/KR920009437B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR910012941A (en) | 1991-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US4698753A (en) | Multiprocessor interface device | |
US5119480A (en) | Bus master interface circuit with transparent preemption of a data transfer operation | |
US5555413A (en) | Computer system and method with integrated level and edge interrupt requests at the same interrupt priority | |
JP5237351B2 (en) | Switch matrix system with multiple bus arbitrations per cycle via higher frequency arbiters | |
KR0133236B1 (en) | Shared memory system and arbitration method and system | |
CN1570907B (en) | Multiprocessor system | |
EP0409285B1 (en) | Method and apparatus for data transfer between processor elements | |
US5142682A (en) | Two-level priority arbiter generating a request to the second level before first-level arbitration is completed | |
US5828891A (en) | Multilevel interrupt device | |
US5463740A (en) | Data control device generating different types of bus requests and transmitting requests directly to one of a number of arbiters for obtaining access to a respective bus | |
US5307466A (en) | Distributed programmable priority arbitration | |
EP0309330A2 (en) | Access priority control system for main storage for computer | |
EP0331487A2 (en) | Data transfer control system | |
KR920009437B1 (en) | Communication system between processor | |
US4482949A (en) | Unit for prioritizing earlier and later arriving input requests | |
JPH09153009A (en) | Arbitration method for hierarchical constitution bus | |
US5526494A (en) | Bus controller | |
JPH0227696B2 (en) | JOHOSHORISOCHI | |
KR100389030B1 (en) | High speed direct memory access controller with multiple channels | |
US6493775B2 (en) | Control for timed access of devices to a system bus | |
KR950008228B1 (en) | Computer system with direct memory access channd arbitration | |
JP4642398B2 (en) | Shared bus arbitration system | |
JP2000132451A (en) | Memory control circuit | |
KR910000184B1 (en) | A control system and a method for arbitrating high-speed access of ram among micro processors | |
JPS63175964A (en) | Shared memory |
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: 20070910 Year of fee payment: 16 |
|
LAPS | Lapse due to unpaid annual fee |