KR100243185B1 - Data communication system between processors using shared memory - Google Patents

Data communication system between processors using shared memory Download PDF

Info

Publication number
KR100243185B1
KR100243185B1 KR1019950033973A KR19950033973A KR100243185B1 KR 100243185 B1 KR100243185 B1 KR 100243185B1 KR 1019950033973 A KR1019950033973 A KR 1019950033973A KR 19950033973 A KR19950033973 A KR 19950033973A KR 100243185 B1 KR100243185 B1 KR 100243185B1
Authority
KR
South Korea
Prior art keywords
shared memory
processor
accessed
processors
signal
Prior art date
Application number
KR1019950033973A
Other languages
Korean (ko)
Other versions
KR970016994A (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 KR1019950033973A priority Critical patent/KR100243185B1/en
Publication of KR970016994A publication Critical patent/KR970016994A/en
Application granted granted Critical
Publication of KR100243185B1 publication Critical patent/KR100243185B1/en

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

Abstract

본 발명은 8비트 크기의 데이타 버스를 가진 공유 메모리를 가진 두 프로세서가 통신 규약 없이 16비트 크기의 데이타를 주고 받을 수 있도록 하는 공유 메모리를 통한 프로세서 간의 데이타 통신 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and a method for data communication between processors through a shared memory that allows two processors having a shared memory having an 8-bit data bus to exchange data having a 16-bit size without a communication protocol.

즉, 본 발명에 따른 공유 메모리를 통한 프로세서 간의 통신 장치 및 방법은 두 프로세서 간에 통신 규약 없이 데이타를 교환해야 하되, 프로세서 시스템의 운영 소프트웨어나 하드웨어 시스템을 수정하지 않고 공유 메모리를 통하여 데이타 통신을 할 수 있도록 한 장치 및 방법으로, 어떤 8비트 시스템의 입출력 메모리 영역을 공유 메모리로 어드레스 맵핑을 해주고 다른 8비트 프로세서를 연결하여 16비트 데이타 교환을 행함으로써, 입출력 시뮬레이션 혹은 에뮬레이션이 가능하며, 또한 데이타 크기가 두 배로 되면서 속도 향상을 가져왔고, 동시에 억세스시 한 프로세서가 대기 상태가 되는 시간을 단축시키는 효과를 가져왔다.That is, the apparatus and method for communication between processors through the shared memory according to the present invention should exchange data between the two processors without a communication protocol, but can perform data communication through the shared memory without modifying the operating system or hardware system of the processor system. In one device and method, an input / output memory area of an 8-bit system can be mapped to shared memory, and another 8-bit processor can be connected to perform 16-bit data exchange, so that input / output simulation or emulation can be performed. This doubled the speed, and at the same time, shortened the time that one processor was idle when accessed.

Description

공유 메모리를 통한 프로세서 간의 데이타 통신 장치 및 방법Apparatus and method for data communication between processors via shared memory

제1도는 종래의 공유 메모리를 통한 프로세서 간의 데이타 통신 장치의 회로도,1 is a circuit diagram of a data communication device between processors through a conventional shared memory;

제2도 및 제3도는 공유 메모리를 통한 프로세서 간의 데이타 통신 장치의 바람직한 선택 신호의 실시예들,2 and 3 illustrate embodiments of preferred selection signals of a data communication device between processors through a shared memory,

제4도는 공유 메모리를 통한 프로세서 간의 데이타 통신 장치의 바람직하지 않은 선택 신호의 실시예,4 illustrates an embodiment of an undesirable selection signal of a data communication device between processors through a shared memory,

제5도는 제4도의 선택 신호 실시예를 원활한 통신이 가능하도록 제1도의 장치를 사용하여 수정한 예,5 is a modified example of the selection signal embodiment of FIG. 4 using the apparatus of FIG.

제6도는 본 발명에 따른 공유 메모리를 통한 프로세서 간의 데이타 통신 장치의 회로도,6 is a circuit diagram of an apparatus for data communication between processors via a shared memory according to the present invention;

제7도는 공유 메모리를 통한 프로세서 간의 데이타 통신 장치의 바람직하지 않은 선택 신호의 실시예,7 illustrates an embodiment of an undesirable selection signal of a data communication device between processors through a shared memory,

그리고 제8도는 제7도의 선택 신호 실시예를 원활한 통신이 가능하도록 제6도의 장치를 사용하여 수정한 예이다.FIG. 8 is an example in which the selection signal embodiment of FIG. 7 is modified using the apparatus of FIG. 6 to enable smooth communication.

〈도면의 주요부분에 대한 부호의 설명〉<Explanation of symbols for main parts of drawing>

1 : 프로세서 L 2 : 프로세서 R1 processor L 2 processor R

3 : 제1어드레스 디코더 4 : 제2어드레스 디코더3: first address decoder 4: second address decoder

5 : 공유 메모리 6 : 어드레스 비교기5: shared memory 6: address comparator

7 : 논리 회로 8 : 제1 D플립플롭7: logic circuit 8: first D flip-flop

9 : 제2 D플립플롭 11 : 프로세서 L9: second D flip-flop 11: processor L

12 : 프로세서 R 13 : 제1어드레스 디코더12 processor R 13 first address decoder

14 : 제2어드레스 디코더 15 : 공유 메모리14: second address decoder 15: shared memory

16 : 어드레스 비교기 17 : 논리 회로16: address comparator 17: logic circuit

18 : 제1 D플립플롭 19 : 제2 D플립플롭18: 1st D flip-flop 19: 2nd D flip-flop

71 : 대기 상태 판별 회로 72 : 공유 메모리 선택 신호 발생 회로71: standby state determination circuit 72: shared memory selection signal generation circuit

73 : READY 신호 발생 회로 170 : 우선 순위 판별 회로73: ready signal generation circuit 170: priority determination circuit

171 : 1바이트 쉬프트 회로 172 : 공유 메모리 선택 신호 발생 회로171: 1 byte shift circuit 172: shared memory selection signal generation circuit

173 : READY 신호 발생 회로173: READY signal generating circuit

본 발명은 공유 메모리를 가진 두 개의 프로세서 사이의 데이타 통신을 위한 통신 장치 및 방법에 관한 것으로, 상세하게는 8비트 크기의 데이타 버스를 가진 공유 메모리를 가진 두 프로세서가 통신 규약 없이 16비트 크기의 데이타를 주고 받을 수 있도록 하는 공유 메모리를 통한 프로세서 간의 데이타 통신 장치 및 방법에 관한 것이다.The present invention relates to a communication apparatus and method for data communication between two processors having a shared memory. Specifically, two processors having a shared memory having a data bus having an 8-bit size have a data size of 16 bits without a communication protocol. The present invention relates to an apparatus and method for data communication between processors through a shared memory.

제1도는 종래의 공유 메모리를 통한 프로세서 간의 데이타 통신 장치의 회로도이다. 여기서 그 구성을 살펴보면 다음과 같다.1 is a circuit diagram of a data communication device between processors through a conventional shared memory. The configuration is as follows.

프로세서L(1) 및 프로세서R(2)는 8비트의 버스를 가지고 서로 16비트의 데이타를 교환하는 좌, 우의 처리기이다. 제1 및 제2어드레스 디코더(3, 4)는 공유 메모리(5)의 왼쪽 버스와 오른쪽 버스를 이용할 수 있도록 한다. 공유 메모리(5)는 8비트 메모리로 하나의 기억 공간을 양쪽 버스를 통해 두 프로세서가 억세스할 수 있다. 어드레스 비교기(6)는 16비트 데이타용으로, 두 프로세서(1, 2)가 같은 어드레스를 거의 동시에 억세스할 때, 나중에 억세스한 프로세서의 어드레스가 래치되었을 때 신호를 발생시키는 회로이다.Processor L (1) and processor R (2) are left and right processors for exchanging 16 bits of data with an 8-bit bus. The first and second address decoders 3 and 4 make use of the left and right buses of the shared memory 5. The shared memory 5 is an 8-bit memory that can be accessed by two processors through one bus on both buses. The address comparator 6 is a circuit for generating 16-bit data and generating a signal when two processors 1 and 2 access the same address almost simultaneously, and when an address of a later accessed processor is latched.

논리 회로(7)는 대기 상태 판별 회로(71), 공유 메모리 선택 신호 발생 회로(72) 및 READY 신호 발생 회로(73)로 구성되어 있다. 여기서 대기 상태 판별 회로(71)는 두 프로세서가 16비트 어드레스를 억세스하고 있는 경우 어느 프로세서가 먼저 억세스 했는 지를 판별해서 늦게 억세스한 프로세서가 대기 상태에 놓일 수 있도록 해주는 회로이고, 공유 메모리 선택 신호 발생 회로(72)는 대기 상태 판별 회로를 통해 늦게 억세스한 프로세서로 하여금 먼저 억세스한 프로세서가 16비트 데이터를 모두 읽어갈 때 까지 데이터 억세스를 못하도록 하며, READY 신호 발생 회로(73)는 늦게 억세스한 프로세서에 먼저 억세스한 프로세서가 데이터 처리를 다할 때 까지 READY 신호를 발생시켜 그 프로세서로 하여금 대기 상태에 놓이도록 한다.The logic circuit 7 is composed of a standby state determination circuit 71, a shared memory selection signal generation circuit 72, and a READY signal generation circuit 73. Here, the standby state determination circuit 71 is a circuit for determining which processor accessed first when two processors are accessing a 16-bit address so that a late-accessed processor can be placed in a standby state, and a shared memory selection signal generation circuit. The processor 72 prevents the late-accessed processor from accessing the data until the first-accessed processor reads all 16-bit data through the wait state determination circuit, and the READY signal generation circuit 73 first accesses the late-accessed processor. The access processor generates a READY signal until the processor has finished processing the data, causing the processor to wait.

제1 및 제2 D플립플롭(8, 9)은 16비트 데이타를 억세스하는 동안 만 발생하는 신호를 만든다.The first and second D flip-flops 8, 9 produce a signal that occurs only while accessing 16-bit data.

이와 같이 구성된 공유 메모리를 통한 프로세서 간의 데이타 통신 장치의 동작을 제2도 내지 제5도를 참조하면서 설명한다.The operation of the data communication device between processors via the shared memory configured as described above will be described with reference to FIGS.

제2도 및 제3도는 정상적인 16비트 데이타의 통신 방법을 나타내고 있다. 여기서 제2도는 공유 메모리를 통한 프로세서 간의 데이타 통신 장치의 바람직한 선택 신호의 실시예로서, 선택 신호가 a→a'→b→b' 순이고, 제3도 역시 공유 메모리를 통한 프로세서 간의 데이타 통신 장치의 바람직한 선택 신호의 실시예로서, 선택 신호가 a→b→a'→b' 순이다. 이와 같이 선택 신호가 제2도 및 제3도와 같은 순서일 경우에는 아무런 문제가 되지 않는다. 그러나, 제4도에 도시된 바와 같은 경우에는 데이타가 반만 갱신되는 결과를 낳는다. 이러한 경우에는 제5도에 도시된 바와 같이, 선택 신호가 원활한 통신이 가능하도록 제1도의 장치를 사용하여 수정할 수 있다. 즉, 제1도의 논리 회로(7) 중에서 대기 상태 판별 회로(71)를 사용하여 한 프로세서가 16비트 데이타를 억세스하고 있는 동안 다른 프로세서가 억세스하면 그 프로세서가 대기 상태에 놓이도록 READY 신호와 공유 메모리 선택 신호를 발생시켜, 선택 신호를 제5도에 도시된 바와 같은 순서가 되도록 만들 수 있다.2 and 3 show normal 16-bit data communication methods. 2 is an embodiment of a preferred selection signal of a data communication device between processors through a shared memory. Is a → a '→ b → b', and FIG. 3 is also an embodiment of a preferred selection signal of a data communication device between processors through a shared memory. Is in the order a → b → a '→ b'. The selection signal in this way If is the same order as 2 and 3 is no problem. However, as shown in FIG. 4, the result is that the data is only half updated. In this case, as shown in FIG. 5, the selection signal Can be modified using the apparatus of FIG. 1 to enable smooth communication. That is, if one processor accesses 16-bit data while the other processor accesses the standby state determination circuit 71 in the logic circuit 7 of FIG. 1, the READY signal and the shared memory are placed in the standby state. Generates a selection signal, Can be made in the order as shown in FIG.

이와 같이 제1도의 공유 메모리 통신 장치는, 제5도에 도시된 바와 같이, 먼저 억세스한 프로세서의 데이타가 16비트 데이타를 8비트씩 두번에 걸쳐 모두 읽거나 쓸 때 까지 대기 상태에 있도록 하고, 그 이후에 억세스가 가능하도록 하는데 있다. 이 방법은 두 바이트를 처리할 때까지의 시간이 프로세서가 허용하는 대기 상태 가능 시간을 초과할 경우 프로세서의 오동작을 유발시키게 된다. 따라서 프로세서가 느리거나 두 바이트(16비트) 처리 시간이 긴 경우에는 적용할 수 없다는 심각한 문제점이 존재한다.Thus, as shown in FIG. 5, the shared memory communication device of FIG. 1 is in a standby state until the data of the first accessed processor reads or writes 16-bit data twice in 8 bits. To make it accessible later. This method causes the processor to malfunction if the time to process two bytes exceeds the wait time allowed by the processor. Therefore, there is a serious problem that it is not applicable when the processor is slow or when two bytes (16 bits) processing time is long.

본 발명은 상기와 같은 문제점을 개선하고자 창안된 것으로, 프로세서 시스템의 운영 소프트웨어나 하드웨어 시스템을 수정하지 않고 공유 메모리를 가진 두 프로세서 사이에서 공유 메모리를 통하여 데이타 통신을 할 수 있도록 하는 공유 메모리를 통한 프로세서 간의 데이타 통신 장치 및 방법을 제공하는데 그 목적이 있다.SUMMARY OF THE INVENTION The present invention was devised to improve the above-mentioned problem, and the present invention provides a processor through a shared memory that allows data communication between two processors having a shared memory without modifying the operating system or hardware system of the processor system. It is an object of the present invention to provide an apparatus and method for data communication between livers.

상기와 같은 목적을 달성하기 위하여 본 발명에 따른 공유 메모리를 통한 프로세서 간의 데이타 통신 장치는, 서로 데이타 교환을 하기 위한 제1프로세서 및 제2프로세서; 상기 제1프로세서 및 제2프로세서 간의 공유 메모리; 어드레스 비교 수단; 거의 동시에 상기 두 프로세서가 상기 공유 메모리를 억세스하는 경우 어느 것이 먼저 억세스되었는지를 판별해 주는 우선 순위 판별 수단; 데이타 교환 순서가 올바르게 되도록 하는 1바이트 쉬프트 수단; 상기 두 프로세서의 어드레스 신호가 억세스될 때 이를 공유 메모리에 읽기 및 쓰기를 가능하게 하는 공유 메모리 선택 신호 발생 수단; 대기(READY) 신호 발생 수단; 제1 및 제2 D플립플롭; 제1어드레스 디코딩 수단 및 제2어드레스 디코딩 수단;을 구비하여 된 것을 특징으로 한다.In order to achieve the above object, a data communication apparatus between processors through a shared memory according to the present invention includes: a first processor and a second processor for exchanging data with each other; Shared memory between the first processor and the second processor; Address comparison means; Priority determining means for determining which of the two processors is accessed first when the two processors access the shared memory at about the same time; One-byte shift means for ensuring that the data exchange order is correct; Shared memory selection signal generating means for enabling reading and writing to shared memory when address signals of the two processors are accessed; READY signal generating means; First and second D flip-flops; And a first address decoding means and a second address decoding means.

또한 상기와 같은 목적을 달성하기 위하여 본 발명에 따른 공유 메모리를 통한 프로세서 간의 데이타 통신 방법은, 두 프로세서 간에 통신 규약을 설정할 수 없고, 공유 메모리 데이타 버스 전송 용량의 두 배씩의 데이타 양을 통신하는 방법에 있어서, 거의 동일한 시기에 상기 두 프로세서의 어드레스 버스 신호가 공유 메모리를 억세스하는 경우 어느 어드레스 버스 신호가 먼저 억세스되었는지를 판별해 주는 제1우선 순위 판별 단계; 상기 먼저 억세스된 어드레스 버스 신호가 대기(READY) 신호에 의해 대기 상태로 되지 않도록 먼저 억세스된 프로세서의 어드레스 버스 신호가 먼저 저장되도록 공유 메모리 선택 신호를 상기 제1우선 순위 판별 순차로 내보내는 단계; 상기 두 프로세서의 어드레스 버스 신호의 두 번째 바이트는 어느 것이 먼저 억세스되었는지를 판별하는 제2우선 순위 판별 단계; 상기 제2우선 순위 판별 단계에서 상기 제1우선 순위 판별 단계의 먼저 억세스된 프로세서의 어드레스 버스 신호가 먼저 전송되도록 하되, 상기 공유 메모리 데이타 버스 전송 용량의 두 배씩의 데이타가 전송되도록 하기 위하여, 상기 제1우선 순위 판별 단계에서의 판별된 억세스 순차로 상기 프로세서의 어드레스 버스 신호의 두 번째 바이트가 억세스된 경우에는 상기 제1우선 순위 판별 순차로 공유 메모리 선택 신호를 내보내고, 상기 제1우선 순위 판별 단계의 나중에 억세스된 프로세서의 어드레스 버스 신호의 두 번째 바이트가 먼저 억세스된 것으로 판별된 경우에는 상기 제1우선 순위 판별 단계에서 먼저 억세스된 프로세서의 어드레스 버스 신호가 상기 공유 메모리의 어드레스 버스의 데이타 전송 용량의 두 배씩 전송되도록 대기(READY) 신호를 발생시키는 단계; 상기 프로세서의 어드레스 버스 신호의 데이타 교환 순서가 올바르게 되도록하는 1바이트 쉬프트하는 단계;를 포함하는 것을 특징으로 한다.In addition, the data communication method between the processors through the shared memory according to the present invention in order to achieve the above object, the communication protocol between the two processors can not be established, the method of communicating data amount of twice the shared memory data bus transfer capacity A first priority determining step of determining which address bus signal is accessed first when the address bus signals of the two processors access shared memory at about the same time; Outputting a shared memory selection signal in the first priority discrimination order so that the address bus signal of the first accessed processor is stored first so that the first accessed address bus signal is not standby by the READY signal; A second priority determining step of determining which second byte of the address bus signal of the two processors is accessed first; In order to transmit the address bus signal of the first accessed processor of the first priority determination step in the second priority determination step first, and to transmit data twice the capacity of the shared memory data bus transmission capacity. When the second byte of the address bus signal of the processor is accessed in the determined access sequence in the first priority determining step, a shared memory selection signal is sent out in the first priority determining sequence, and the first priority determining step is performed. If it is determined that the second byte of the address bus signal of the accessed processor is accessed first, then the address bus signal of the processor accessed first in the first priority determination step is equal to twice the data transfer capacity of the address bus of the shared memory. READY signal to be sent twice Generating; And shifting one byte to ensure that the data exchange order of the address bus signal of the processor is correct.

이하 도면을 참조하면서 본 발명에 따른 공유 메모리를 통한 프로세서 간의 데이타 통신 장치 및 방법을 설명한다.Hereinafter, an apparatus and method for data communication between processors through a shared memory according to the present invention will be described with reference to the drawings.

제6도는 본 발명에 따른 프로세서 간의 데이타 교환을 위한 공유 메모리 통신 장치의 회로도이다. 이 도면에서 그 구성을 살펴보면 다음과 같다.6 is a circuit diagram of a shared memory communication device for data exchange between processors according to the present invention. Looking at the configuration in this figure is as follows.

프로세서L(11) 및 프로세서R(12)는 8비트의 버스를 가지고 서로 16비트의 데이타를 교환하는 좌, 우의 처리기이다. 이 프로세서들은 각각의 어드레스 버스와 데이타 버스 및 읽기, 쓰기 신호를 이용하여 공유 메모리에 데이타를 쓰기 또는 읽기를 할 수가 있다. 제1어드레스 디코더(13) 및 제2어드레스 디코더(14)는 공유 메모리(15)의 왼쪽 버스 신호와 오른쪽 버스 신호를 이용하여 공유 메모리 선택 신호를 발생시킨다. 공유 메모리(15)는 8비트(1바이트) 메모리로 하나의 기억 공간을 양쪽 버스를 통해 두 프로세서가 억세스할 수 있다. 즉 두 프로세서 사이에서 데이타를 전달하는 역할을 한다. 어드레스 비교기(16)는 16비트 데이타용으로, 두 프로세서(11, 12)가 같은 어드레스를 거의 동시에 억세스할 때, 나중에 억세스한 프로세서의 어드레스가 래치되었을 때 신호를 발생시키는 회로이다.The processor L 11 and the processor R 12 are left and right processors for exchanging 16 bits of data with an 8-bit bus. These processors use their respective address buses, data buses, and read and write signals to write or read data to and from shared memory. The first address decoder 13 and the second address decoder 14 generate a shared memory selection signal using the left bus signal and the right bus signal of the shared memory 15. The shared memory 15 is an 8-bit (1 byte) memory that can be accessed by two processors through one bus. That is, it transfers data between two processors. The address comparator 16 is a circuit for generating 16-bit data and generating a signal when two processors 11 and 12 access the same address almost simultaneously, when an address of a processor accessed later is latched.

논리 회로(17)는 우선 순위 판별 회로(170), 1바이트 쉬프트 회로(171), 공유 메모리 선택 신호 발생 회로(172) 및 READY 신호 발생 회로(173)로 구성되어 있다. 여기서 우선 순위 판별 회로(170)는 16비트 어드레스 비교기(16)에서 발생한 CMP 신호가 하이에서 로우가 될 때 제1 및 제2 D플립플롭(18, 19)에서 발생한 CSA 값을 래치시킨다. 이 때 먼저 억세스된 프로세서에서의 CAS 값이 로우이므로 먼저 억세스된 프로세서의 TOP 신호는 하이를 유지한다. 1바이트 쉬프트 회로(171)는 프로세서L(11)과 프로세서R(12)의 두 번째 바이트들의 순서가 바뀌었는지를 판단하여, 바뀌지 않았으면 원래의 공유 메모리 선택 신호를 내보내도록 하고, 바뀌었으면 바뀌어야할 프로세서에 READY 신호를 발생시키고 새로운 공유 메모리 선택 신호를 발생시킨다. 공유 메모리 선택 신호 발생 회로(172)는 READY가 로우가 되는 프로세서 쪽의 본래 공유 메모리 선택 신호에서 READY 신호가 로우인 기간만 하이로 만들어 주는 역할을 한다. READY 신호 발생 회로(173)는 늦게 억세스한 프로세서에서 먼저 억세스한 프로세서가 데이터 처리를 다할 때 까지 READY 신호를 발생시켜 그 프로세서로 하여금 대기 상태에 놓이도록 한다.The logic circuit 17 is composed of a priority determination circuit 170, a one-byte shift circuit 171, a shared memory selection signal generation circuit 172, and a READY signal generation circuit 173. Here, the priority determining circuit 170 latches the CSA values generated in the first and second D flip-flops 18 and 19 when the CMP signal generated by the 16-bit address comparator 16 goes from high to low. In this case, since the CAS value of the first accessed processor is low, the TOP signal of the first accessed processor remains high. The one-byte shift circuit 171 determines whether the order of the second bytes of the processor L 11 and the processor R 12 has been changed, and if not, sends out the original shared memory selection signal, and if so, it should be changed. Generate a READY signal to the processor and a new shared memory select signal. The shared memory selection signal generation circuit 172 serves to make only the period in which the READY signal is low in the original shared memory selection signal on the processor side where the READY goes low. The READY signal generation circuit 173 generates a READY signal in the late-accessed processor until the first accessed processor finishes processing data, causing the processor to be in a standby state.

제1 및 제2 D플립플롭(18, 19)은 16비트 데이타를 억세스하는 동안만 발생하는 신호를 만든다.The first and second D flip-flops 18 and 19 produce a signal that only occurs while accessing 16-bit data.

이와 같이 구성된 공유 메모리를 통한 프로세서 간의 데이타 통신 장치의 동작을 제7도 및 제8도를 참조하면서 설명한다.The operation of the data communication device between the processors through the shared memory configured as described above will be described with reference to FIGS. 7 and 8.

본 발명의 요지는 16비트 데이타 통신시, 두 프로세서가 같은 어드레스를 거의 동시에 억세스할 때, 제7도에 도시된 바와 같은 공유 메모리 선택 신호를 제8도에 도시된 바와 같은 공유 메모리 선택 신호로 변환하여 정상적인 16비트 데이타의 통신을 할 수 있도록 하는데 있다.The subject matter of the present invention is to convert a shared memory select signal as shown in FIG. 7 into a shared memory select signal as shown in FIG. 8 when two processors access the same address almost simultaneously in 16-bit data communication. To allow normal 16-bit data communication.

즉, 제7도에 도시된 바와 같은 공유 메모리 선택 신호가 발생하면 우선 순위 판별 회로(170)는 프로세서L(11)이 먼저 억세스되었는지 프로세서R(12)이 먼저 억세스되었는지를 판단한 후에 먼저 억세스한 프로세서가 READY 신호에 의해 대기 상태로 되는 것을 막는다. 제7도에서는 프로세서L(11)의 어드레스 버스 신호가 먼저 들어왔으므로 프로세서L(11)의 공유 메모리 선택 신호는 변하면 안된다. 프로세서R(12)의 어드레스 버스 신호는 두 번째 바이트가 프로세서L(11)의 어드레스 버스 신호의 두 번째 바이트 보다 먼저 들어왔으므로 프로세서L(11)이 어드레스 버스 신호의 두 번째 바이트 억세스가 끝나면 프로세서R(12)이 어드레스 버스 신호의 두 번째 바이트를 억세스되도록 해야한다. 1바이트 쉬프트 회로(171)는 프로세서L(11)과 프로세서R(12)의 두 번째 바이트들의 순서가 바뀌었는지를 판단하여, 바뀌지 않았으면 원래의 공유 메모리 선택 신호를 내보내도록 하고, 바뀌었으면 바뀌어야할 프로세서에 READY 신호를 발생시키고 새로운 공유 메모리 선택 신호를 발생시켜, 제8도에 도시된 바와 같이, 정상적인 16비트의 데이타 교환이 이루어질 수 있도록 한다.That is, when the shared memory selection signal as shown in FIG. 7 occurs, the priority determination circuit 170 determines whether the processor L 11 is accessed first or the processor R 12 is accessed first, and then accesses the processor. Prevents standby by the READY signal. In FIG. 7, since the address bus signal of the processor L 11 comes in first, the shared memory selection signal of the processor L 11 should not be changed. The address bus signal of the processor R (12) is received after the second byte has entered the second byte of the address bus signal of the processor L (11) when processor L (11) has finished accessing the second byte of the address bus signal. (12) must allow the second byte of the address bus signal to be accessed. The one-byte shift circuit 171 determines whether the order of the second bytes of the processor L 11 and the processor R 12 has been changed, and if not, sends out the original shared memory selection signal, and if so, it should be changed. A READY signal is generated to the processor and a new shared memory selection signal is generated to allow normal 16-bit data exchange, as shown in FIG.

이상 설명한 바와 같이, 본 발명에 따른 공유 메모리를 통한 프로세서 간의 통신 장치 및 방법은 두 프로세서 간에 통신 규약 없이 데이타를 교환해야 하되, 프로세서 시스템의 운영 소프트웨어나 하드웨어 시스템을 수정하지 않고 공유 메모리를 통하여 데이타 통신을 할 수 있도록 한 장치 및 방법으로, 어떤 8비트 시스템의 입출력 메모리 영역을 공유 메모리로 어드레스 맵핑을 해주고 다른 8비트 프로세서를 연결하여 16비트 데이타 교환을 행함으로써, 즉 먼저 억세스한 프로세서의 데이타가 16비트 데이타를 8비트씩 두 번에 걸쳐 모두 읽거나 쓸 때 까지 후에 억세스한 프로세서의 데이타는 대기 상태에 있도록 한 다음 그후에 억세스하도록 하는 방법으로 데이타 교환이 이루어지도록 함으로써, 입출력 시뮬레이션 혹은 에뮬레이션이 가능하며, 또한 데이타 크기가 두배로 되면서 속도 향상을 가져왔고, 동시에 억세스시 한 프로세서가 대기 상태가 되는 시간을 단축시키는 효과를 가져온다.As described above, an apparatus and method for communication between processors through a shared memory according to the present invention should exchange data between two processors without a communication protocol, but communicate data through the shared memory without modifying an operating software or a hardware system of the processor system. In one device and method, an address mapping of an input / output memory area of an 8-bit system to shared memory is performed, and another 8-bit processor is connected to perform 16-bit data exchange, that is, the data of the first accessed processor is 16. I / O simulation or emulation can be performed by exchanging data in such a way that the data of the processor accessed after the bit data is read or written twice in 8-bits is read and then accessed. Also Doubled data size has resulted in speed improvements, and at the same time, shortens the amount of time a processor is idle when accessed.

Claims (2)

서로 데이타 교환을 하기 위한 제1프로세서 및 제2프로세서; 상기 제1프로세서 및 제2프로세서 간의 공유 메모리; 어드레스 비교 수단; 거의 동시에 상기 두 프로세서가 상기 공유 메모리를 억세스하는 경우 어느 것이 먼저 억세스되었는지를 판별해 주는 우선 순위 판별 수단; 데이타 교환 순서가 올바르게 되도록 하는 1바이트 쉬프트 수단; 상기 두 프로세서의 어드레스 신호가 억세스될 때 이를 공유 메모리에 읽기 및 쓰기를 가능하게 하는 공유 메모리 선택 신호 발생 수단; 대기(READY) 신호 발생 수단; 제1 및 제2 D플립플롭; 제1어드레스 디코딩 수단 및 제2어드레스 디코딩 수단;을 구비하여 된 것을 특징으로 하는 공유 메모리를 통한 프로세서 간의 데이타 통신 장치.A first processor and a second processor for exchanging data with each other; Shared memory between the first processor and the second processor; Address comparison means; Priority determining means for determining which of the two processors is accessed first when the two processors access the shared memory at about the same time; One-byte shift means for ensuring that the data exchange order is correct; Shared memory selection signal generating means for enabling reading and writing to shared memory when address signals of the two processors are accessed; READY signal generating means; First and second D flip-flops; And a first address decoding means and a second address decoding means. 두 프로세서 간에 통신 규약을 설정할 수 없고, 공유 메모리 데이타 버스 전송 용량의 두 배씩의 데이타 양을 통신하는 방법에 있어서, 거의 동일한 시기에 상기 두 프로세서의 어드레스 버스 신호가 공유 메모리를 억세스하는 경우 어느 어드레스 버스 신호가 먼저 억세스되었는지를 판별해 주는 제1우선 순위 판별 단계; 상기 먼저 억세스된 어드레스 버스 신호가 대기(READY) 신호에 의해 대기 상태로 되지 않도록 먼저 억세스된 프로세서의 어드레스 버스 신호가 먼저 저장되도록 공유 메모리 선택 신호를 상기 제1우선 순위 판별 순차로 내보내는 단계; 상기 두 프로세서의 어드레스 버스 신호의 두 번째 바이트는 어느 것이 먼저 억세스되었는지를 판별하는 제2우선 순위 판별 단계; 상기 제2우선 순위 판별 단계에서 상기 제1우선 순위 판별 단계의 먼저 억세스된 프로세서의 어드레스 버스 신호가 먼저 전송되도록 하되, 상기 공유 메모리 데이타 버스 전송 용량의 두 배씩의 데이타가 전송되도록 하기 위하여, 상기 제1우선 순위 판별 단계에서의 판별된 억세스 순차로 상기 프로세서의 어드레스 버스 신호의 두 번째 바이트가 억세스된 경우에는 상기 제1우선 순위 판별 순차로 공유 메모리 선택 신호를 내보내고, 상기 제1우선 순위 판별 단계의 나중에 억세스된 프로세서의 어드레스 버스 신호의 두 번째 바이트가 먼저 억세스된 것으로 판별된 경우에는 상기 제1우선 순위 판별 단계에서 먼저 억세스된 프로세서의 어드레스 버스 신호가 상기 공유 메모리의 어드레스 버스의 데이타 전송 용량의 두 배씩 전송되도록 대기(READY) 신호를 발생시키는 단계; 상기 프로세서의 어드레스 버스 신호의 데이타 교환 순서가 올바르게 되도록하는 1바이트 쉬프트하는 단계;를 포함하는 것을 특징으로 하는 공유 메모리를 통한 프로세서 간의 데이타 통신 방법.In a method of establishing a communication protocol between two processors and communicating a data amount of twice the shared memory data bus transfer capacity, when an address bus signal of the two processors accesses shared memory at about the same time, an address bus A first priority determining step of determining whether a signal has been accessed first; Outputting a shared memory selection signal in the first priority discrimination order so that the address bus signal of the first accessed processor is stored first so that the first accessed address bus signal is not standby by the READY signal; A second priority determining step of determining which second byte of the address bus signal of the two processors is accessed first; In order to transmit the address bus signal of the first accessed processor of the first priority determination step in the second priority determination step first, and to transmit data twice the capacity of the shared memory data bus transmission capacity. When the second byte of the address bus signal of the processor is accessed in the determined access sequence in the first priority determining step, a shared memory selection signal is sent out in the first priority determining sequence, and the first priority determining step is performed. If it is determined that the second byte of the address bus signal of the accessed processor is accessed first, then the address bus signal of the processor accessed first in the first priority determination step is equal to twice the data transfer capacity of the address bus of the shared memory. READY signal to be sent twice Generating; Shifting one byte to ensure that the data exchange order of the address bus signal of the processor is correct;
KR1019950033973A 1995-09-30 1995-09-30 Data communication system between processors using shared memory KR100243185B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019950033973A KR100243185B1 (en) 1995-09-30 1995-09-30 Data communication system between processors using shared memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019950033973A KR100243185B1 (en) 1995-09-30 1995-09-30 Data communication system between processors using shared memory

Publications (2)

Publication Number Publication Date
KR970016994A KR970016994A (en) 1997-04-28
KR100243185B1 true KR100243185B1 (en) 2000-02-01

Family

ID=19429243

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950033973A KR100243185B1 (en) 1995-09-30 1995-09-30 Data communication system between processors using shared memory

Country Status (1)

Country Link
KR (1) KR100243185B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100864834B1 (en) 2007-04-30 2008-10-23 한국전자통신연구원 Apparatus and method for data transmission between processors using memory remapping

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100864834B1 (en) 2007-04-30 2008-10-23 한국전자통신연구원 Apparatus and method for data transmission between processors using memory remapping
US8464006B2 (en) 2007-04-30 2013-06-11 Electronics And Telecommunications Research Institute Method and apparatus for data transmission between processors using memory remapping

Also Published As

Publication number Publication date
KR970016994A (en) 1997-04-28

Similar Documents

Publication Publication Date Title
US5109333A (en) Data transfer control method and apparatus for co-processor system
KR100539251B1 (en) Memory controller with a read-modify-write function and SOC having the memory controller
US5428760A (en) Circuitry and method for sharing internal microcontroller memory with an external processor
CN114816263A (en) Storage access method and intelligent processing device
US6742142B2 (en) Emulator, a data processing system including an emulator, and method of emulation for testing a system
KR100476895B1 (en) Interface device having variable data transfer mode and operating method thereof
KR100243185B1 (en) Data communication system between processors using shared memory
US20020188771A1 (en) Direct memory access controller for carrying out data transfer by determining whether or not burst access can be utilized in an external bus and access control method thereof
JPS61165170A (en) Bus controlling system
JPH07271654A (en) Controller
KR0176087B1 (en) Processor Data Processing Circuit of System Controller
JPH113274A (en) Memory access control system
KR100346268B1 (en) Data bus control system
US20020125501A1 (en) Integrated circuit
JP3600830B2 (en) Processor
KR0165505B1 (en) The communication apparatus using shared memory
KR19990066122A (en) Shared memory implementer
JP2581484B2 (en) Data processing system
KR840000437B1 (en) System for accessing memory modules
JP3219422B2 (en) Cache memory control method
JPH0431939A (en) External storage device
JPH05110584A (en) Transmitting system for path trace information in optical synchronous communication
JPH04245346A (en) Microcomputer system
JPH05298179A (en) Memory control system
JPS61204759A (en) Information processor

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20121116

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20131213

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee