KR950010950B1 - Communication apparatus between processors having bus structures - Google Patents

Communication apparatus between processors having bus structures Download PDF

Info

Publication number
KR950010950B1
KR950010950B1 KR1019930013963A KR930013963A KR950010950B1 KR 950010950 B1 KR950010950 B1 KR 950010950B1 KR 1019930013963 A KR1019930013963 A KR 1019930013963A KR 930013963 A KR930013963 A KR 930013963A KR 950010950 B1 KR950010950 B1 KR 950010950B1
Authority
KR
South Korea
Prior art keywords
local
counter
link
processor
address register
Prior art date
Application number
KR1019930013963A
Other languages
Korean (ko)
Other versions
KR950004009A (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 KR1019930013963A priority Critical patent/KR950010950B1/en
Publication of KR950004009A publication Critical patent/KR950004009A/en
Application granted granted Critical
Publication of KR950010950B1 publication Critical patent/KR950010950B1/en

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/38Information transfer, e.g. on bus

Landscapes

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

Abstract

The device is applied to the processor communication of distributed control system, and reduces the delay time for bus communication. The device includes local higher/lower counters(11,12) which select the link address by round robbin method, a counter-part address register(14) which saves the address of received processor, a self address register(15) which saves the address of transmission processor, a comparator(13) which compares the value between a counter-part address and self address, and a local-counter stop signal generator(16) which reserves the transmission of data. The device further includes 1st AND logical means(18), 2nd AND logical means, 3rd AND logical means, OR logical means(20), and a buffer enable signal generator(17).

Description

버스 구조에서의 프로세서간 통신 장치 및 방법Interprocessor Communication Device and Method in Bus Structure

제 1 도는 본 발명을 설명하기 위한 라운드-로빈 방식의 링크 선택 순서도.1 is a round-robin link selection flowchart for explaining the present invention.

제 2 도는 본 발명에 따른 프로세서간 통신장치의 블럭구성도.2 is a block diagram of an interprocessor communication apparatus according to the present invention.

제 3 도는 본 발명에 따른 프로세서간 통신방법에 대한 처리 흐름도.3 is a process flow diagram for an interprocessor communication method according to the present invention.

* 도면의 주요부분에 대한 부호의 설명* Explanation of symbols for main parts of the drawings

11, 12 : 로컬-카운터 13, 13-1 내지 13-4 : 주소 비교기11, 12: local-counter 13, 13-1 to 13-4: address comparator

14 : 상대 주소 레지스터 15 : 자기 주소 레지스터14: relative address register 15: magnetic address register

16 : 로컬-카운터 카운트 중지 신호 발생기16: Local-Counter Count Stop Signal Generator

17 : 버퍼 인에이블 신호 발생기17: Buffer Enable Signal Generator

버스로 연결된 다수의 프로세서가 상호 통신을 수행하기 위하여 버스상에서의 2지점간(pint-to-point) 전송 링크(link)의 형성과 버스 중재(arbitration)를 위한 버스구조에서의 프로세서간 통신 장치 및 방법에 관한 것이다.An interprocessor communication device in a bus structure for forming a pint-to-point transmission link and bus arbitration on a bus for a plurality of processors connected by a bus to communicate with each other; and It is about a method.

일반적으로 버스 구조에서 기존의 프로세서간 통신 방법은 2가지 측면에서 고려된다. 첫번째는 버스 중재 방식으로 선택(selection), 경쟁(random access), 예약(reserve)방식이 널리 사용된다. 둘째는 통신 방식으로 버스상에서 송신하는 프로세서가 송신 데이타를 나머지 모든 프로세서에게 송신하고, 수신하는 프로세서측에서 데이타의 수신 여부를 판단, 선택적으로 수신하여 상호 통신을 수행하는 방식이 사용된다. 다수의 프로세서가 공유하여 사용하는 통신로인 버스를 통하여 상호 연결되어 제반 제어 기능을 수행하는 분사 제어 시스템에 있어서, 프로세서간 통신 방식은 시스템의 성능에 많은 영향을 미친다. 기종의 분산 제어 시스템의 버스 중제 방식은 선택, 경쟁, 예약 방식 모두가 많이 사용되고 있으며, 통신 방식은 대부분 버스 중재 방식에 의하여 송신권한이 부여된 프로세서가 버스를 통하여 데이타를 나머지 모든 프로세서에 동시에 송신하고, 수신 프로세서측에서 데이타에 수신여부를 판단하여 선택적으로 수신하는 방송(broadcasting) 방식으로 프로세서간 통신이 이루어 진다. 그러나 방송 방식의 경우 버스상에 연결되는 프로세서의 수가 증가하면 송수신 큐(메모리의 일종)의 관리와 프로토콜의 구현이 복잡해지고, 또한 버스를 전이중 방식으로 구성할 수 없는 단점이 있어 성능의 많은 저하를 초래하는 등의 문제점이 있다.In general, the existing interprocessor communication method in the bus structure is considered in two aspects. The first is a bus arbitration method, in which selection, random access, and reserve are widely used. Second, a communication method is a method in which a processor transmitting on a bus transmits transmission data to all the other processors, and determines whether or not to receive data on the receiving processor side and selectively receives data to perform mutual communication. In the injection control system which performs various control functions by being interconnected through a bus, which is a communication path shared by a plurality of processors, the interprocessor communication method affects the performance of the system. In the distributed control system, the bus arbitration method is widely used in the selection, competition, and reservation methods. In the communication method, most of the bus arbitration methods allow a processor authorized to transmit data to all the other processors at the same time. The inter-processor communication is performed by a broadcast method in which the receiving processor determines whether to receive data and selectively receives the data. However, in the case of the broadcasting method, as the number of processors connected to the bus increases, the management of the transmission and reception queue (a kind of memory) and the implementation of the protocol become complicated, and the bus cannot be configured in full duplex. There is a problem such as.

상기 문제점을 해결하기 위해 안출된 본 발명은, 기존의 분산 제어 시스템 프로세서간 통신 방식에 널리 사용되는 방송 방식과는 달리 버스상에 연결되는 다수의 프로세서중 상호 통신 하고자 하는 두개의 프로세서간에 2지점간 전송 링크가 형성 되도록 하여 통신을 수행함으로써, 기존 방식의 단점을 해결할 수 있도록 하였으며, 버스 중재 방식은 기존의 선택, 예약, 경쟁 방식들 중, 선택 방식과 예약 방식이 혼합된 버스 중재 방식을 사용하여 송신할 데이타가 없는 경우에는 즉시 다음 링크가 선택되도록 하고, 송신 데이타가 있는 경우 즉 예약이 되어 있는 경우에는 링크가 선택되면 링크의 양측에 연결된 두 프로세서에게 통신 권한을 부여하도록 함으로써, 기존의 버스 중재 방식 사용시 발생하는 지연시간을 최소화 하도록 하는 버스 구조에서의 프로세서간 통신장치 및 방법을 제공하는데 그 목적이 있다.In order to solve the above problems, the present invention, unlike the broadcast method widely used for the communication system between the existing distributed control system, between two points between two processors to communicate with each other among a plurality of processors connected on the bus By performing communication by forming a transmission link, it is possible to solve the shortcomings of the existing scheme. The bus arbitration scheme uses a bus arbitration scheme that is a mixture of the selection scheme and the reservation scheme among the existing selection, reservation, and competition schemes. Existing bus arbitration by allowing the next link to be selected immediately if there is no data to send, and granting communication rights to two processors connected to both sides of the link if the link is selected if there is outgoing data, i.e. reserved. In a bus structure to minimize delays It is an object of the present invention to provide an interprocessor communication apparatus and method.

상기 목적을 달성하기 위하여 본 발명은, 외부에서 클럭신호를 입력받고 로컬-카운터 카운트 중지신호를 입력받으며 로컬-카운터 리셋 신호를 입출력하여 형성 가능한 링크의 주소를 표현하고, 라운드-로빈 방식으로 링크를 선택하기 위한 로컬 상하위 카운터, 데이타를 송신하고자 하는 경우, 수신측 프로세서의 주소를 저장하기 위한 상대 주소 레지스터, 데이타를 송신하고자 하는 경우 송신측 프로세서의 주소를 저장하기 위한 자기 주소 레지스터, 상기 로컬-카운터가 표현하는 링크의 주소와 링크의 양측에 영결된 프로세서의 주소를 저장하는 상기 상대 주소 레지스터, 상기 자기주소 레지스터의 값이 일치하는지의 여부를 판단하는 비교수단, 상기 로컬 상위 카운터로 로컬카운터, 카운트 중지신호를 출력하며 송신 데이타를 수신하여야 하는 상대편 프로세서 주소를 상기 상대 주소 레지스터에 저장하고, 송신할 데이타가 있음을 송신 예약하는 로컬-카운트 카운트 중지 신호 발생수단, 상기 비교수단의 출력을 입력으로 하여 상대 주소 레지서터의 값과 링크에 연결된 양쪽 프로세서 주소 중 하나가 일치함을 나타내는 제 1 앤드 논리수단, 상기 비교수단의 출력을 입력으로 하여 상기 자기 주소 레지스터의 값과 링크에 연결되는 양쪽 프로세서 주소중 하나가 일치함을 나타내는 제 2 앤드 논리수단, 상기 제1, 제 2 앤드수단의 출력단에 연결되어 적어도 하나가 일치함을 나타내는 제 3 앤드 논리수단, 상기 제1, 제 2 앤드수단의 출력단에 연결되어 상기 상대 주소 레지스터 및 자기 주소 레지스터가 동시에 일치함을 상기 로컬-카운터 카운트 중지 신호 발생수단으로 출력하는 OR논리수단, 상기 로컬-카운터 카운트 중지 신호 발생수단으로부터 로컬-카운터 카운트 중지 신호를 입력받고 상기 제 3 앤드 논리수단으로부터의 적어도 하나의 일치를 알리는 신호를 입력받아 형성되는 링크의 정합부에 위치하는 버퍼를 인이에블 시키기 위한 버퍼 인에이블 신호 발생수단을 구비하여 장치를 구성하다.In order to achieve the above object, the present invention receives a clock signal from an external source, receives a local-counter stop signal, inputs a local-counter reset signal, and expresses an address of a link that can be formed, and links the link in a round-robin manner. Local upper and lower counter for selection, relative address register for storing the address of the receiving processor if data is to be transmitted, magnetic address register for storing the address of the sending processor if data is to be transmitted, the local-counter The relative address register which stores the address of the link represented by the link and the address of the processor which is zeroed on both sides of the link, comparing means for determining whether or not the value of the own address register is identical, a local counter with the local upper counter, a count. Output stop signal and receive transmission data A local-count count stop signal generating means for storing transmission processor address in the relative address register and scheduling transmission of data to be transmitted, and an output of the comparing means as an input, both of which are connected to the value of the relative address register and the link; First AND logic means that one of the processor addresses match, and the second AND logic means that one of both processor addresses connected to the link matches the value of the self address register as an input of the output of the comparison means. A third end logic means connected to an output end of the first and second end means to indicate that at least one coincides, and a relative address register and a magnetic address register simultaneously connected to an output end of the first and second end means. OR logic means for outputting a match to said local-counter count stop signal generating means, said local Enabling a buffer located at a matching part of the link formed by receiving a local-counter count stop signal from a counter count stop signal generating unit and a signal indicating at least one match from the third end logic unit; A buffer enable signal generating means is provided for the device.

그리고, 상기와 같은 프로세서간 통신 장치의 운용 방법으로는 로컬 상하위 카운터를 리셋시키고 로컬 상하위 카운터의 카운트를 시작하고 로컬 상하위 카운터값과 자기 주소를 비교하는 제 1 단계, 상기 제 1 단계 수행 후, 비교값이 동일하지 않으면 상기 카운트 시작과정으로 복귀하고 비교값이 동일하고 송신 예약이 되었으면 로컬 상하위카운터값과 상대주소가 같아지면 로컬 상하위 카운터의 카운트를 중지하고 송신예약이 되지 않았으면 로컬 카운터 카운트 중지 신호발생여부를 조사하는 제 2 단계, 상기 제 2 단계 수행 후, 버스버퍼를 인에이블시켜 두 프로세서간에 2지점간 링크를 형성시킴으로써 전이중 방식으로 통신을 수행하고 버스 버퍼를 디스에이블시키고 로컬 카운터 카운트 시작과정으로 리턴하는 제 3 단계로 이루어지는 것을 특징으로 한다.In addition, the operating method of the inter-processor communication device as described above resets the local upper and lower counters, starts counting the local upper and lower counters, and compares the local upper and lower counter values with their own addresses. If the value is not the same, return to the count start process. If the comparison value is the same and the transmission reservation is made, if the local up / down counter value and the relative address are the same, stop the count of the local upper / lower counter. After performing the second and second steps of investigating the occurrence of the occurrence of the second step, the bus buffer is enabled to form a two-point link between the two processors, thereby performing communication in a full duplex manner, disabling the bus buffer, and starting a local counter count. The third step of returning to Shall be.

이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail the present invention.

제 1 도는 본 발명을 설명하기 위한 라운드-로빈 방식으로 링크를 선택하는 순서도이다.1 is a flowchart for selecting a link in a round-robin manner to illustrate the present invention.

버스로 상호 연결되어 있는 다수의 프로세서들간에 전송 링크를 형성하기 위해서, 각 프로세서에 부여된 고유의 주소를 이용한다. 즉, 링크의 양측에 연결되어 있는 2개의 프로세서 고유의 주소로써 링크를 표현하도록 한다. 버스에 4개의 프로세서가 연결되는 경우를 가정할 경우, 각 프로세서의 고유 주소는 2비트로 표현 가능하며 전송 링크에 연결되는 프로세서는 2개이므로 버스상에서 형성 가능한 모든 링크는 4개의 비트로 표현 가능하다. 버스를 통한 형성 가능한 링크의 모든 경우는 아래(표 1)과 같다. (표 1)에 표시된 16개의 주소중(a)로 표시된 주소는 링크의 양쪽 프로세서 주소가 동일한 경우로 링크가 형성되지 않으므로 제거한다.In order to form a transmission link between a plurality of processors interconnected by a bus, a unique address assigned to each processor is used. In other words, the link is represented by two processor-specific addresses connected to both sides of the link. Assuming four processors are connected to the bus, each processor's unique address can be represented by two bits, and since there are two processors connected to the transmission link, all links that can be formed on the bus can be represented by four bits. All cases of formable links through the bus are shown in Table 1 below. Among the 16 addresses shown in (Table 1), the address indicated by (a) is removed because both processor addresses of the link are the same, so the link is not formed.

또한, 주소 00 01과 01 00은 동일한 링크로 표시하는 주소이므로 01 00을 제거한다. 나머지(b)로 표시된 동일한 링크를 나타내는 주소중 한개씩 제거한다. 이와 같이 버스상에서 형성 가능한 모든 링크를 표현하는 주소중 불필요한 주소를 제거하고 정리하면 (표 2)와 같다. 이상으로부터 버스에 연결된 프로세서가 4개인 경우에는 형성 가능한 링크는 총 6개가 되며, 이들 링크를 도면에 도시한 바와 같이 라운드-로빈(round-robin)방식으로 선택하여, 선택된 링크에 연결된 프로세서들간에 통신할 수 있는 권한을 부여한다. 총 6개의 형성 가능한 링크를 라운드-로빈 방식으로 선택하기 위하여 로컬-카운터를 이용한다. 즉, 각 링크를 로컬-카운터의 값으로 표현되도록 구성하고, 각 프로세서에 로컬-카운터를 위치시켜 모든 로컬-카운터가 동일한 값을 갖고 순차적으로 증가되도록 구성함으로써 모든 형성 가능한 링크를 라운드-로빈 방식으로 선택되도록 한다.In addition, addresses 00 01 and 01 00 are marked with the same link so that 01 00 is removed. Remove one by one of the addresses that represent the same link, indicated by the remainder (b). In this way, if unnecessary addresses are removed and arranged among addresses representing all possible links on the bus, they are shown in Table 2. In the case of four processors connected to the bus, the total number of links that can be formed is six, and these links are selected in a round-robin manner as shown in the figure to communicate between the processors connected to the selected link. Grant permission to do so. Local-counters are used to select a total of six formable links in a round-robin fashion. That is, each link is configured to be represented by the value of the local-counter, and the local-counter is placed on each processor so that all the local-counters have the same value and are sequentially increased, thereby forming all formable links in a round-robin manner. To be selected.

[표 1]TABLE 1

[표 2]TABLE 2

제 2 도는 본 발명에 따른 장치의 블럭 구성도로서, 로컬-카운터(11, 12), 주소 비교기(13-1 내지 13-4), 상대 주소 레지스터(14), 자기 주소 레지스터(15), 로컬-카운터 카운트 중지 신호 발생기(16), 버퍼 인에이블 신호 발생기(17)로 구성되며, 버스에 연결된 모든 프로세서에 존재한다.2 is a block diagram of a device according to the present invention, including local-counters 11 and 12, address comparators 13-1 to 13-4, relative address register 14, magnetic address register 15, local A counter count stop signal generator 16, a buffer enable signal generator 17, present in all processors connected to the bus.

로컬-카운터(12)는 형성 가능한 링크의 주소를 표현하고, 라운드-로빈 방식으로 링크를 선택하기 위한 수단이다. 로컬-카운터(12)로 입력되는 클럭 및 로컬-카운터 리셋 신호는 버스상에 연결된 프로세서들 중 1개의 프로세서를 주 프로세서로 선정하고, 나머지는 종속 프로세서로 지정하여 주 프로세서에서 종속 프로세서로 분배하도록 한다. 클럭 신호는 로컬-카운터(12)를 구동시키기 위한 신호이고, 로컬-카운터 리셋 신호는 로컬-카운터(12)에 의해 모든 링크가 라운드-로빈 방식으로 한번씩 선택된 다음 다시 처음 링크가 선택되도록 하기 위한 라셋 신호이다.Local-counter 12 represents the address of the formable link and is a means for selecting the link in a round-robin fashion. The clock and the local-counter reset signal input to the local-counter 12 select one processor among the processors connected on the bus as the main processor and the other as the subordinate processor to distribute from the main processor to the subordinate processor. . The clock signal is a signal for driving the local-counter 12, and the local-counter reset signal is a reset for causing all links to be selected once by the local-counter 12 in a round-robin manner and then the first link is selected again. It is a signal.

상대 주소 레지스터(14)는 데이타를 송신하고자 하는 경우, 수신측 프로세서의 주소를 저장하기 위한 수단이다. 주소 비교기(13)는 로컬-카운터(12)가 표현하는 링크의 주소와 링크의 양측에 연결된 프로세서의 주소를 저장하는 상대 주소 레지스터(14), 자기주소 레지스터(15)의 값이 일치하는지의 여부를 판단한다.The relative address register 14 is a means for storing the address of the receiving processor when data is to be transmitted. The address comparator 13 checks whether the address of the link represented by the local-counter 12 and the values of the relative address register 14 and the self address register 15 that store the address of the processor connected to both sides of the link match. Judge.

로컬-카운터 카운트 중지 신호 발생기(16)는 송신할 데이타가 있는 경우에 동작하는 로직으로, 송신 데이타를 수신하여야 하는 상대편 프로세서 주소를 상대 주소 레지스터(14)에 저장하고, 송신할 데이타가 있음을 송신 예약신호를 이용하여 로컬-카운터 카운트 중지 신호 발생기(16)에 예약한다.The local-counter count stop signal generator 16 is logic that operates when there is data to be transmitted. The local-counter count stop signal generator 16 stores a counterpart processor address that should receive the transmission data in the relative address register 14 and transmits that there is data to be transmitted. The reservation signal is used to reserve the local-counter count stop signal generator 16.

로컬-카운터(12)의 값과 상대 주소 레지스터(14), 자기 주소 레지스터(15)의 값이 둘다 동시에 일치하면 즉, 선택하고자 하는 링크의 주소가 로컬-카운터(12)에 의해서 표시되면 로컬-카운터 카운트 중지 신호 발생기(16)는 로컬-카운터 카운트 중지 신호를 모든 프로세서로 출력하여 로컬-카운터(12)의 카운트를 정지시키고 버스가 점유됨을 알리는 수단이다.If the value of the local-counter 12 and the value of the relative address register 14 and the magnetic address register 15 both match at the same time, that is, the address of the link to be selected is displayed by the local-counter 12, the local- The counter count stop signal generator 16 outputs a local-counter stop signal to all processors to stop the count of the local-counter 12 and to indicate that the bus is occupied.

OR논리소자(20)는 선택된 링크에 연결된 양쪽 프로세서의 주소와 상대 주소 레지스터(14) 및 자기 주소 레지스터(15) 둘다 동시에 일치함을 나타낸다.The OR logic 20 indicates that both the address and relative address register 14 and magnetic address register 15 of both processors connected to the selected link coincide simultaneously.

버퍼 인에이블 신호 발생기(17)는 형성되는 링크의 정합부에 위치하는 버퍼를 인에이블 시키기 위한 수단이다. 데이타를 송신하는 경우에는 선택된 링크에 연결된 양쪽 프로세서의 주소를 나타내는 로컬-카운터(12)의 값과 상대 주소 레지스터(14) 및 자기 주소 레지스터(15) 둘다 동시에 일치하고, 수신하는 경우에는 로컬-카운터(12)의 값이 나타내는 링크의 양쪽 프로레서 주소중 하나와 자기 주소 레지스터(12)의 값이 일치한다. 따라서 버퍼의 인에이블 신호는 로컬-카운터가 카운터 중지 신호가 인에이블 되어 있고, 로컬-카운터(12)의 값이 나타내는 링크의 양쪽 프로세서 주소와 상대 주소 레지스터(14) 값 혹은 자기 주소 레지스터(15)값중 적어도 하나와 일치하는 경우에 발생하도록 한다.The buffer enable signal generator 17 is a means for enabling a buffer located at a matching portion of a link to be formed. When transmitting data, the values of the local-counter 12 representing the addresses of both processors connected to the selected link and the relative address register 14 and the self-address register 15 both coincide, and at the same time receive the local-counter. One of both processor addresses of the link indicated by the value of (12) and the value of the self address register 12 coincide. Therefore, the enable signal of the buffer is a local counter, the counter stop signal is enabled, and both the processor address and the relative address register 14 value or the magnetic address register 15 of the link indicated by the value of the local counter 12. It occurs when at least one of the values matches.

AND논리소자(21)는 적어도 하나가 일치함을 나타낸다.The AND logic elements 21 indicate that at least one coincides.

AND논리소자(18)는 상대 주소 레지스터(14)의 값과 링크에 연결된 양쪽 프로세서 주소 중 하나가 일치함을 나타내고, AND논리소자(19)는 자기 주소 레지스터(15)의 값과 링크에 연결된 양쪽 프로세서 주소중 하나가 일치함을 나타낸다.AND logic element 18 indicates that the value of relative address register 14 matches one of both processor addresses connected to the link, and AND logic element 19 indicates both the value of magnetic address register 15 and the link connected to the link. Indicates that one of the processor addresses matches.

제 3 도는 본 발명에 따른 버스 구조에서 물리적 2지점간 링크를 형성시켜 전이중 방식으로 통신하는 방법의 흐름도이다.3 is a flowchart of a method for communicating in a full duplex manner by forming a physical two-point link in a bus structure according to the present invention.

로컬-카운터(11, 12)는 2지점간 링크에 연결되는 두 프로세서의 고유 주소를 나타내므로 상, 하위로 분리하여 설명한다.The local counters 11 and 12 represent the unique addresses of the two processors connected to the two-point link, and thus will be described separately in the upper and lower parts.

로컬 상하위 카운터 리셋(21)은 각 프로세서에 위치하는 모든 로컬 상하위 카운터가 항상 같은 값을 유지하면서 동작하도록 하기 위한 즉, 동기 시키기 위한 수단이며, 프로세서들 중 주 프로세서로 결정되는 프로세서가 나머지 종속 프로세서로 결정된 프로세서로 공급한다. 로컬 상하위 카운터(11, 12) 리셋 후 각 로컬 상하위 카운터(11, 12)는 카운트를 시작하고(22), 이 값은 각 프로세서에서 자기 주소와 비교된다(23), 프로세서의 자기 주소와 로컬 상위 혹은 하위 카운터 값이 같은 경우, 즉 자기 프로세서와 연결되는 있는 링크가 선택된 경우, 송신 예약 여부를 판단한다(24).The local high and low counter reset 21 is a means for synchronizing, ie, synchronizing all local high and low counters located in each processor at all times while maintaining the same value. Supply to the determined processor. After resetting the local high and low counters 11 and 12, each local high and low counters 11 and 12 start counting (22), the value of which is compared with the magnetic address of each processor (23), and the processor's self address and local high rank. Or, if the lower counter value is the same, that is, if a link that is connected to the own processor is selected, it is determined whether to reserve a transmission (24).

송신 예약이 된 경우, 로컬 상위 혹은 하위 카운터 값과 송신하고자 하는 상대 프로세서 주소를 비교하여(25), 같은 경우는 자기 프로세서 주소와 송신 하고자 하는 상대 프로세서 주소가 일치하는 경우가 되고 이것은 송수신하고자 하는 두 프로세서를 연결하는 링크가 선택된 것이 되므로 로컬 상하위 카운터의 카운트 중지 신호를 발생시켜 카운트를 중지 시키고(26), 버스 버퍼를 인에이블시켜(27) 두 프로세서간에 2지점간 링크를 형성시킨다. 송신 예약이 되어 있지 않은 경우는 로컬 상하위 카운터 카운트 중지 신호의 발생 여부를 판단하여(28), 신호가 발생한 경우는 송신 프로세서에 의해서 자기프로세서가 수신 프로세서로 지정되 경우가 되므로 버스 버퍼를 인에이블 시켜 2지점간 링크를 형성시킨다.If a transmission reservation is made, the local upper or lower counter value is compared with the relative processor address to be transmitted (25). In the same case, the own processor address and the relative processor address to be transmitted are identical. Since the link connecting the processors is selected, the count stop signal of the local upper and lower counters is generated to stop the count (26), and the bus buffer is enabled (27) to form a two-point link between the two processors. If a transmission reservation is not made, it is determined whether a local upper / lower counter count stop signal is generated (28). If a signal is generated, the bus processor is enabled because the self-processor is designated by the transmitting processor as the receiving processor. Form a link between two points.

신호가 발생하지 않은 경우는 수신 프로세서로 지정된 것이 아니므로 로컬 상하위 카운터(11, 12)의 카운트를 계속 수행한다. 버퍼 인에이블(27)에 의해 2지점간 링크 형성이 완료되면 전이중 방식으로 통신을 수행하고(29), 전이중 통신이 완료되면(30) 버스 버퍼를 디스에이블시키고(31) 라운드-로빈 방식에 의해서 그 다음 링크가 즉시 선택되도록 로컬 상하위 카운터(11, 12)의 카운트를 다시 시작한다.If no signal is generated, the count of the local upper and lower counters 11 and 12 is continued since it is not designated to the receiving processor. When the two-point link formation is completed by the buffer enable 27, communication is performed in full duplex (29). When full duplex communication is completed (30), the bus buffer is disabled (31) and the round-robin method is performed. The counting of the local high and low counters 11 and 12 is then restarted so that the link is immediately selected.

본 발명은 링크 형성 가능한 모든 구조 즉 병렬 버스 혹은 직렬 버스 구조 뿐만 아니라, 버스 구조가 아닌 스타(star), 트리(Tree) 혹은 매시(mesh)의 구조를 갖는 분산 제어 시스템의 프로세서간 통신에 그대로 사용할 수 있다.The present invention can be used as it is for inter-processor communication of a distributed control system having not only a bus structure but also a link bus, a parallel bus or a serial bus structure, as well as a star, tree, or mesh structure. Can be.

따라서, 상기와 같은 본 발명의 효과는 다음과 같다.Therefore, the effects of the present invention as described above are as follows.

1) 링크 형성 가능한 구조를 갖는 모든 분산 제어 시스템의 프로세서간 통신에 사용할 수 있다.1) Can be used for interprocessor communication in all distributed control systems with linkable structures.

2) 버스상에서 형성 가능한 링크중 필요한 링크만을 선택하여 통신할 수 있도록 구현할 수 있다.2) It can be implemented to communicate by selecting only necessary links among the linkable links on the bus.

3) 버스상에서 링크를 형성하여 통신을 수행하므로, 송수신 큐(queue)의 관리 및 프로토콜 구현이 간단하다.3) Since communication is performed by forming a link on the bus, management of a transmission and reception queue and implementation of a protocol are simple.

4) 버스상에서 전이중 회선 구성에 의한 통신이 가능하여 성능이 향상된다.4) It is possible to communicate by full-duplex line configuration on the bus, which improves performance.

5) 버스 중재시의 지연시간을 최소화 할 수 있다.5) Minimize delay time in bus arbitration.

Claims (2)

외부에서 클럭신호를 입력받고 로컬-카운터 카운트 중지신호를 입력받으며 로컬-카운터 리셋 신호를 입출력하여 형성 가능한 링크의 주소를 표현하고, 라운드-로빈 방식으로 링크를 선택하기 위한 로컬 상하위 카운터(11, 12) 데이타를 송신하고자 하는 경우, 수신측 프로세서의 주소를 저장하기 위한 상대 주소 레지스터(14), 데이타를 송신하고자 하는 경우 송신측 프로세서의 주소를 저장하기 위한 자기 주소 레지스터(15), 상기 로컬-카운터(12)가 표현하는 링크의 주소와 링크의 양측에 연결된 프로세서의 주소를 저장하는 상기 상대 주소 레지스터(14), 상기 자기주소 레지스터(15)의 값이 일치하는지의 여부를 판단하는 비교수단(13), 상기 로컬 상위 카운터(11)로 로컬카운터 카운트 중지신호를 출력하며 송신 데이타를 수신하여야 하는 상대편 프로세서 주소를 상기 상대 주소 레지스터(14)에 저장하고, 송신할 데이타가 있음을 송신 예약하는 로컬-카운터 카운트 중지 신호 발생수단(16), 상기 비교수단(13)의 출력을 입력으로 하여 상대 주소 레지스터(14)의 값과 링크에 연결된 양쪽 프로세서 주소 중 하나가 일치함을 나타내는 제 1 앤드 논리수단(18), 상기 비교수단(13)의 출력을 입력으로 하여 상기 자기 주소 레지스터(15)의 값과 링크에 연결된 양쪽 프로세서 주소중 하나가 일치함을 나타내는 제 2 앤드 논리수단(19), 상기 제1, 제 2 앤드수단(18, 19)의 출력단에 연결되어 상기 상대 주소 레지스터(14) 및 자기 주소 레지스터(15)가 동시에 일치함을 상기 로컬-카운터 카운트 중지 신호 발생수단(16)으로 출력하는 OR논리수단(20), 상기 로컬-카운터 카운트 중지 신호 발생수단(16)으로부터 로컬-카운터 카운트 중지 신호를 입력받고 상기 제 3 앤드 논리수단(21)으로부터의 적어도 하나의 일치를 알리는 신호를 입력받아 형성되는 링크의 정합부에 위치하는 버퍼를 인에이블시키기 위한 버퍼 인에이블 신호 발생수단(17)을 구비하는 것을 특징으로 하는 버스 구조에서의 프로세서간 통신 장치.Local high and low counters (11, 12) for receiving the clock signal from the outside, receiving the local-counter stop signal, inputting the local-counter reset signal, expressing the address of the link that can be formed, and selecting the link in a round-robin manner. ) The relative address register 14 for storing the address of the receiving processor if data is to be transmitted, the magnetic address register 15 for storing the address of the sending processor if data is to be transmitted, and the local-counter. Comparison means (13) for determining whether or not the values of the relative address register (14) and the magnetic address register (15) that store the address of the link represented by (12) and the address of a processor connected to both sides of the link are identical. ), A counterpart processor that outputs a local counter count stop signal to the local upper counter 11 and receives transmission data; A counter is stored in the relative address register 14, and the local-counter count stop signal generating means 16, which reserves transmission for the presence of data to be transmitted, and the output of the comparing means 13, are inputted. A link between the value of the magnetic address register 15 and the output of the first end logic means 18 and the comparison means 13 indicating that the value of 14 and one of both processor addresses connected to the link match. Second and logic means 19, which indicate that one of the two processor addresses connected to each other, and the output terminal of the first and second end means 18, 19 are connected to the relative address register 14 and the magnetic address register. OR logic means 20 for outputting to the local-counter count stop signal generating means 16 that (15) coincides simultaneously, and a local-counter count stop signal from the local-counter count stop signal generating means 16; A buffer enable signal generating means (17) for enabling a buffer located at a matching portion of a link formed by receiving a signal indicating at least one match from the third and logic means (21). An interprocessor communication device in a bus structure, characterized in that the. 로컬 상하위 카운터(11, 12), 상대 주소 레지스터(14), 자기 주소 레지스터(15), 비교수단(13), 로컬-카운터 카운트 중지 신호발생수단(16), 제 1 앤드 논리수단(18), 제 2 앤드 논리수단(19), 제 3 앤드 논리수단(21), OR논리수단(20), 비퍼 인에이블 신호 발생수단(17)을 구비하는 프로세서간 통신 장치의 운용 방법에 있어서 ; 로컬 상하위 카운터(11, 12)를 리셋시키고 로컬 상하위 카운터(11, 12)의 카운트를 시작하고 로컬 상하위 카운터(11, 12) 값과 자기 주소를 비교하는 제 1 단계(21 내지 23), 상기 제 1 단계(21 내지 23) 수행후, 비교값이 동일하지 않으면 상기 과정(22)으로 복귀하고 비교값이 동일하고 송신 예약이 되었으면 로컬 상하위카운터값과 상대주소가 같아지면 로컬 상하위 카운터(11, 12)의 카운트를 중지하고 송신예약이 되지 않았으면 로컬 카운트 중지 신호발생여부를 조사하는 제 2 단계(24, 25, 26, 28), 상기 제 2 단계(24, 25, 26, 28) 수행 후, 버스 버퍼를 인에이블 시켜 두 프로세서간에 2지점간 링크를 형성시킴으로써 전이중 방식으로 통신을 수행하고 버스 버퍼를 디스에이블시키고 로컬 카운터 카운트 시작과정으로 리턴하는 제 3 단계(29 내지 31)로 이루어지는 것을 특징으로 하는 버스 구조에서의 프로세서간 통신 방법.Local upper and lower counters 11 and 12, relative address register 14, magnetic address register 15, comparing means 13, local-counter count stop signal generating means 16, first and logic means 18, A method of operating an interprocessor communication apparatus comprising: a second end logic means 19, a third end logic means 21, an OR logic means 20, and a beeper enable signal generating means 17; A first step (21 to 23) of resetting the local upper and lower counters 11 and 12, starting the counting of the local upper and lower counters 11 and 12, and comparing the values of the local upper and lower counters 11 and 12 with their own addresses; After performing steps 1 to 21, if the comparison value is not the same, the process returns to step 22. If the comparison value is the same and the transmission reservation is made, if the local high and low counter value and the relative address are the same, the local high and low counters 11 and 12 After the second step (24, 25, 26, 28) and the second step (24, 25, 26, 28) of checking whether or not the local count stop signal is generated, Enabling a bus buffer to form a two-point link between the two processors, performing a full duplex communication, disabling the bus buffer and returning to the local counter count start process (29-31). The communication method between the processor in the bus structure to a.
KR1019930013963A 1993-07-22 1993-07-22 Communication apparatus between processors having bus structures KR950010950B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019930013963A KR950010950B1 (en) 1993-07-22 1993-07-22 Communication apparatus between processors having bus structures

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019930013963A KR950010950B1 (en) 1993-07-22 1993-07-22 Communication apparatus between processors having bus structures

Publications (2)

Publication Number Publication Date
KR950004009A KR950004009A (en) 1995-02-17
KR950010950B1 true KR950010950B1 (en) 1995-09-26

Family

ID=19359852

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019930013963A KR950010950B1 (en) 1993-07-22 1993-07-22 Communication apparatus between processors having bus structures

Country Status (1)

Country Link
KR (1) KR950010950B1 (en)

Also Published As

Publication number Publication date
KR950004009A (en) 1995-02-17

Similar Documents

Publication Publication Date Title
US4402040A (en) Distributed bus arbitration method and apparatus
US4969120A (en) Data processing system for time shared access to a time slotted bus
US4888728A (en) Multipoint link data-transmission control system
US4152764A (en) Floating-priority storage control for processors in a multi-processor system
US4320467A (en) Method and apparatus of bus arbitration using comparison of composite signals with device signals to determine device priority
JPS5844561A (en) Dispersed access control system
US4744023A (en) Processor access control arrangement in a multiprocessor system
GB1593404A (en) Logic circuitry for use in a computer
JPH02156750A (en) Multiplex access control method and multiplex access control system executing same
CN85103740A (en) Grouping and circuit switched communications network
JPH0319745B2 (en)
CN101383712A (en) Routing node microstructure for on-chip network
US5371893A (en) Look-ahead priority arbitration system and method
US7065594B2 (en) Method and apparatus of allocating minimum and maximum bandwidths on a bus-based communication system
EP0621709B1 (en) Message communication system
US6473821B1 (en) Multiple processor interface, synchronization, and arbitration scheme using time multiplexed shared memory for real time systems
KR950010950B1 (en) Communication apparatus between processors having bus structures
JPH06195319A (en) Multi-processor system
JPH05175968A (en) Common access controller
US4623885A (en) Method and arrangement for distribution of send permission to terminals in a telecommunication network
EP0064074B1 (en) Data transmitting link
CA2036066C (en) Bus control system
Costrell et al. FASTBUS for data acquisition and control
JP3112206B2 (en) Access arbitration method
US6865630B2 (en) Apparatus and method of preventing congestion in message transmission system

Legal Events

Date Code Title Description
A201 Request for examination
N231 Notification of change of applicant
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: 19980616

Year of fee payment: 4

LAPS Lapse due to unpaid annual fee