KR19990039436A - Implementation method of communication device of SB and MP860 of measurable processor architecture - Google Patents

Implementation method of communication device of SB and MP860 of measurable processor architecture Download PDF

Info

Publication number
KR19990039436A
KR19990039436A KR1019970059541A KR19970059541A KR19990039436A KR 19990039436 A KR19990039436 A KR 19990039436A KR 1019970059541 A KR1019970059541 A KR 1019970059541A KR 19970059541 A KR19970059541 A KR 19970059541A KR 19990039436 A KR19990039436 A KR 19990039436A
Authority
KR
South Korea
Prior art keywords
sbus
mpc860
dpram
sram
interrupt
Prior art date
Application number
KR1019970059541A
Other languages
Korean (ko)
Inventor
박혜숙
송광석
문승진
Original Assignee
이계철
한국전기통신공사
정선종
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 이계철, 한국전기통신공사, 정선종, 한국전자통신연구원 filed Critical 이계철
Priority to KR1019970059541A priority Critical patent/KR19990039436A/en
Publication of KR19990039436A publication Critical patent/KR19990039436A/en

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 이중 포트램(DPRAM)을 이용한 측정가능 프로세서 구조(SPARC) 계열의 SBus와 MPC860의 통신장치 구현방법에 관한 것으로서, 고속이며, 데이터의 손실을 최소화하면서 메시지를 주고받을 수 있는 이중 포트램을 사용하는 방법을 구체화하였다.The present invention relates to a method of implementing a communication device between the SBus and the MPC860 of the Measurable Processor Architecture (SPARC) series using a dual port RAM (DPRAM), and is a high speed, dual port RAM capable of sending and receiving messages with minimal data loss. A method of using was embodied.

실제로 메시지의 길이가 길거나 대량인 경우 즉, 다운로딩 등을 할 때에는 DPRAM을 이용하는 방법이 효과적이지 않으나, 그렇지 않은 경우에는 전송 매체나 프로토콜을 거치지 않아도 되므로 가격 및 데이터 손실 방지 측면에서 훨씬 좋은 성능을 보이는 효과를 가진다.In practice, the use of DPRAM is not effective in the case of long or large messages, i.e. downloading, etc. Otherwise, there is no need to go through the transmission medium or protocol, which results in much better performance in terms of price and data loss prevention. Has an effect.

Description

측정가능 프로세서 구조 계열의 에스버스와 엠피씨860의 통신장치 구현방법Implementation method of communication device of SB and MP860 of measurable processor architecture

본 발명은 이중 포트램(Dual Port RAM, 이하 DPRAM라 칭함)을 이용한 측정가능 프로세서 구조(Scalable Processor Architecture, 이하 SPARC라 칭함) 계열의 SBus와 MPC860의 통신장치 구현방법에 관한 것이다.The present invention relates to a method of implementing a communication device of a SBus and an MPC860 of a scalable processor architecture (SPARC) series using dual port RAM (hereinafter referred to as DPRAM).

종래에 사용한 서로 다른 두 보드의 통신은 이더넷(Ethernet), 고수준 데이터 전송제어(High level data link control, 이하 HDLC라 칭함), 미국 전자 공업화(EIA-232) 등을 이용하여 구현가능한데 이들은 주고받는 메시지의 길이가 짧고, 소량인 경우에는 전송 매체의 가격, 프로토콜 관리, 데이터 손실 측면에서 별로 효율적이지 못한 문제가 있다.The communication between two different boards used in the related art can be implemented using Ethernet, high level data link control (HDLC), and US electronic industrialization (EIA-232). If the length is short and the quantity is small, there is a problem in that it is not very efficient in terms of transmission medium price, protocol management, and data loss.

상기 문제를 해결하기 위해 본 발명은 서로 다른 두 보드의 통신 방법에서 DPRAM을 통한 방법을 제공하여 비교적 고속이며, 데이터의 손실을 최소화하면서 데이터를 주고 받을 수 있는 방법을 제공하는 것을 목적으로 한다.In order to solve the above problems, an object of the present invention is to provide a method for communicating data between two different boards by providing a method through DPRAM, which is relatively high speed and minimizes data loss.

도 1은 본 발명에 따른 SBus와 MPC860의 통신장치 구조도,1 is a structural diagram of a communication apparatus of the SBus and MPC860 according to the present invention;

도 2는 본 발명에 따른 통신장치 상세 구조도,2 is a detailed structural diagram of a communication device according to the present invention;

도 3은 본 발명이 적용되는 DPRAM 구조도.3 is a structure diagram of a DPRAM to which the present invention is applied.

<도면의 주요부분에 대한 부호의 설명><Description of Symbols for Main Parts of Drawings>

100 : SPARC 보드 110 : SPARC100: SPARC board 110: SPARC

120 : SBus 200 : MPC860 보드120: SBus 200: MPC860 Board

210 : DPRAM 주변 로직 211 : DPRAM210: logic around DPRAM 211: DPRAM

211a : TX 영역 211b : RX 영역211a: TX area 211b: RX area

211c : RX_Header 영역 211d : 인터럽트 영역211c: RX_Header area 211d: Interrupt area

212 : DPRAM 중재기 213 : DPRAM 디코더212: DPRAM arbiter 213: DPRAM decoder

214 : SRAM 제어기 215 : 버퍼 제어기214: SRAM controller 215: buffer controller

216 : MPC860 인터럽트 발생기 217 : TA/ACK 발생기216 MPC860 interrupt generator 217 TA / ACK generator

220 : MPC860 230 : SRAM220: MPC860 230: SRAM

240 : 벡터 레지스터240: vector register

상기 목적을 달성하기 위해 본 발명은, SBus에서 MPC860으로 메시지를 전송하는 과정과, 상기 MPC860에서 SBus로 메시지를 전송하는 과정으로 이루어지는 것을 특징으로 한다.In order to achieve the above object, the present invention is characterized by consisting of a process of transmitting a message from the SBus to the MPC860, and a process of transmitting a message from the MPC860 to the SBus.

본 발명은 측정가능 프로세서 구조(Scalable Processor Architecture, 이하 SPARC라 칭함) 계열에서 사용되는 SBus와 모토롤라(Motorola)사의 전력 개인용 컴퓨터(Power Personal Computer, 이하 PowerPC라 칭함)인 MPC860을 DPRAM을 통해 정합하여 통신하는 로직에 관한 것이다.The present invention matches SBus and Motorola's Power Personal Computer (hereinafter referred to as PowerPC) used in the Scalable Processor Architecture (SPARC) series by communicating through DPRAM. It's about logic.

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

도 1은 본 발명에 따른 SBus와 MPC860의 통신장치 구조도로서, SBus(120)를 갖는 SPARC 보드와 MPC860(220)을 갖는 MPC860 보드(200)로 크게 나눌 수 있다.1 is a structural diagram of a communication apparatus of the SBus and the MPC860 according to the present invention, which can be broadly divided into a SPARC board having an SBus 120 and an MPC860 board 200 having an MPC860 220.

상기 MPC860 보드 내부에는 SPARC 보드의 SBus(120)와의 통신 창구로 DPRAM 주변 로직(210)이 위치하고, 이 로직 안에 DPRAM(211)이 위치한다.Inside the MPC860 board, the logic 210 around the DPRAM is located as a communication window with the SBus 120 of the SPARC board, and the DPRAM 211 is located within the logic board.

DPRAM 주변 로직(210) 내부에서 SBus(120)와 MPC860(220)이 서로 상대방에게 전달해야 할 데이터를 처리하게 된다.In the logic 210 around the DPRAM, the SBus 120 and the MPC860 220 process data to be transmitted to each other.

또한 동시에 SBus(120)와 DPRAM(211)을 어세스할 때, 충돌을 방지하기 위해서 DPRAM 중재기(212)가 구현되어 있고, DPRAM(211)에 상대방이 수신하여야 할 메시지가 있다는 것을 알려주기 위한 인터럽트 처리 로직도 구현되어 있다.In addition, when accessing the SBus 120 and the DPRAM 211 at the same time, a DPRAM arbiter 212 is implemented to prevent a collision, and to inform the DPRAM 211 that there is a message to be received by the other party. Interrupt handling logic is also implemented.

상기 MPC860(220)은 8개의 디바이스 선택신호(CS[7:0]*)가 있으며, MPC860(220) 내부에 있는 레지스터들은 프로그래밍하여 정해진 어드레스 맵으로 디바이스 선택을 할 수 있다.The MPC860 220 has eight device selection signals CS [7: 0] * , and the registers in the MPC860 220 may be programmed to select a device with a predetermined address map.

본 발명에서 DPRAM(211) 어세스는 CS4*, 벡터 레지스터(240) 어세스는 CS6*을 사용하였다.In the present invention, the DPRAM 211 access uses CS4 * and the vector register 240 access uses CS6 * .

MPC860(220)은 TA*로 전송을 종료하게 되는데, 외부 로직으로 정해진 시간에 드라이브하거나, MPC860(220) 내부에서 생성할 수 있다.The MPC860 220 ends the transmission with TA *, and may be driven at a predetermined time by external logic or generated inside the MPC860220.

이때, 디바이스의 어세스 시간을 고려하여야 하는데, 본 발명에서 DPRAM은 DPRAM 중재기(212)가 중재를 마치고 20 ns 후에 TA/ACK 발생기(217)에서 TA*를 생성하여 MPC860(220)이 전송을 종료하게 하며, 벡터 레지스터(240)는 내부에서 생성되는 TA*로 전송이 종료된다.At this time, the access time of the device should be considered. In the present invention, the DPRAM generates TA * in the TA / ACK generator 217 20 ns after the DPRAM arbiter 212 completes the arbitration, so that the MPC860 220 performs transmission. In this case, the vector register 240 is terminated with TA * generated therein.

일반적으로 상용 DPRAM은 중재기(212)를 내장하고 있어서 사용이 편리하나, 용량이 크지 않기 때문에, 본 발명에서는 어세스 시간이 20 ns인 상용 스태틱형 램(static RAM, 이하 SRAM라 칭함)(230)을 이용하여 DPRAM(211)을 직접 구현하였다.In general, a commercial DPRAM has a built-in arbiter 212, which is convenient to use, but since the capacity is not large, a commercial static RAM (hereinafter referred to as SRAM) having an access time of 20 ns is used in the present invention (230). DPRAM 211 is implemented directly.

중재 방법은 여러 가지가 있을 수 있으나, 본 발명에서는 먼저 어세스 하는 쪽을 먼저 서비스하는 방법을 사용하였다.There may be various methods of arbitration, but in the present invention, a method of first serving the first accessor is used.

즉, SBus(120)의 SEL*와 MPC860(220)의 CS4*중에 먼저 드라이브되는 신호를 기준으로 중재하여, 서비스한다.That is, the SEL * of the SBus 120 and the CS4 * of the MPC860 220 are arbitrated based on a signal driven first to serve.

DPRAM(220)은 512 킬로바이트 용량의 32 비트 긴-단어(Long-Word) 포트를 가지는 SRAM(230)으로 구성하였다.The DPRAM 220 consists of an SRAM 230 having a 32-bit Long-Word port of 512 kilobytes of capacity.

본 발명에 대해 구체적으로 기술하기 전에 SBus(120)와 MPC860(220)의 특성을 살펴보면 SBus(120)의 기본 특징으로는, 32 비트의 데이터를 가지며, 1 슬롯 당 28 비트의 물리 어드레스 버스를 가지며, 1, 2, 4, 8, 16, 32, 64 바이트 전송을 할 수 있고, 7개의 공유하는 인터럽트 라인이 있으며, 큰 끝 형식(Big-Endian)을 가지고 있다.Before describing the present invention in detail, the characteristics of the SBus 120 and the MPC860 220 are as follows. The basic characteristics of the SBus 120 include 32 bits of data and 28 bits of physical address bus per slot. It can transfer 1, 2, 4, 8, 16, 32, 64 bytes, has seven shared interrupt lines, and has a big-endian format.

이에 반해 MPC860(220)은 32 비트의 어드레스와 데이터 버스를 가지며, 1, 2, 4 바이트 전송을 할 수 있고, 8개의 인터럽트 라인과, 내부 프로그래밍 가능한 8개의 디바이스 선택신호가 있으며, 외부 로직의 도움없이 전송을 종료시킬 수 있으며, 작은 끝 형식(Little-Endian)이다.In contrast, the MPC860 220 has a 32-bit address and data bus, can transfer 1, 2, and 4 bytes, has eight interrupt lines, eight internally programmable device select signals, and helps with external logic. The transfer can be terminated without it, and in small-endian form.

다음 표 1은 SPARC 보드의 SBus(120) 신호를 상세히 나타낸 것이며, 표 2는 MPC860(220) 신호를 나타낸 것이다.Table 1 shows the SBus 120 signal of the SPARC board in detail, and Table 2 shows the MPC860 220 signal.

SPARC 보드의 SBus 신호SBus Signals on SPARC Boards 신호명Signal name 정 의Justice 방 향(SBus 기준)Direction (based on SBus) 비 고Remarks SA[0:27]SA [0:27] 물리 어드레스 버스Physical address bus 출력Print SA27 : MSBSA27: MSB SD[0:31]SD [0:31] 데이터 버스Data bus 입출력I / O SD31 : MSBSD31: MSB SEL* SEL * 슬레이브 선택Slave selection 출력Print 슬레이브당 1개1 per slave AS* AS * 어드레스 유효Address valid 출력Print RdRd 전송 방향Transmission direction 출력Print SIZ[2:0]SIZ [2: 0] 전송할 데이터의 크기Size of data to send 출력Print ACK[2:0]* ACK [2: 0] * 전송 결과를 알림Notify transmission result 입력input SIRQ[7:1]* SIRQ [7: 1] * 인터럽트 요청Interrupt request 입력input 오픈 드레인Open drain

MPC860 신호MPC860 signal 신호명Signal name 정의Justice 방향(MPC860기준)Direction (based on MPC860) 비고Remarks MA[31:0]MA [31: 0] 어드레스 버스Address bus 출력Print MA0 : MSBMA0: MSB MD[31:0]MD [31: 0] 데이터 버스Data bus 입출력I / O MD0 : MSBMD0: MSB CS[7:0]* CS [7: 0] * 디바이스 선택Select device 출력Print WE[3:0]* WE [3: 0] * 쓰기 전송Write transfer 출력Print 1Byte씩 선택 가능1 byte selectable OE* OE * 읽기 전송Read transfer 출력Print TA* TA * 전송 결과를 알림Notify transmission result 입출력I / O 내부 TA*가능Internal TA * Available MIRQ[7:0]* MIRQ [7: 0] * 인터럽트 요청Interrupt request 입력input

도 2는 본 발명에 따른 MPC860 통신장치 상세 구조도로서, SPARC 계열의 SBus(120)와 MPC860(220) 간의 통신장치의 상세 블록구성도이다.2 is a detailed structural diagram of the MPC860 communication apparatus according to the present invention, which is a detailed block diagram of a communication apparatus between the SBus 120 and the MPC860 220 of the SPARC series.

상기 도 2는 SRAM(230)과 DPRAM 주변 로직(210)이 존재하고, DPRAM 주변 로직(210)은 DPRAM 중재기(212), DPRAM 디코더(213), SRAM 제어기(214), 버퍼 제어기(215), MPC860 인터럽트 발생기(216), TA/ACK 발생기(217)로 구성된다.2 illustrates the SRAM 230 and the DPRAM peripheral logic 210. The DPRAM peripheral logic 210 includes the DPRAM arbiter 212, the DPRAM decoder 213, the SRAM controller 214, and the buffer controller 215. MPC860 interrupt generator 216 and TA / ACK generator 217.

먼저, SBus(120)에서 DPRAM(211)을 어세스 하는 경우를 순서적으로 서술하면 다음과 같다.First, the case in which the DPRAM 211 is accessed by the SBus 120 is described in order.

SBus(120)가 SEL*, AS*, Rd, SIZ[2:0]. SA[0:27](어드레스), SD[0:31](데이터)을 드라이브한다.SBus 120 is SEL * , AS * , Rd, SIZ [2: 0]. Drives SA [0:27] (address) and SD [0:31] (data).

이때, 상기 Rd가 "0"이면 쓰기 전송이 되고, SD[0:31]은 SBus(120)의 출력이 되며, Rd가 "1"이면 읽기 전송이 되고, SD[0:31]은 SBus(120)의 입력이 된다.At this time, if Rd is "0", a write transfer is performed, SD [0:31] is an output of the SBus 120, if Rd is "1", a read transfer is performed, and SD [0:31] is an SBus ( 120).

상기 DPRAM 중재기(212)는 SEL*와 AS*를 감지하여, SBus(120)가 DPRAM(211)을 어세스하도록 허락한다.The DPRAM arbiter 212 senses SEL * and AS * , allowing the SBus 120 to access the DPRAM 211.

DPRAM 디코더(213)는 SBus(120)의 SA[0:27], SIZ[2:0], Rd를 디코딩한다.The DPRAM decoder 213 decodes SA [0:27], SIZ [2: 0], and Rd of the SBus 120.

SRAM 제어기(214)는 쓰기 전송인 경우엔, SRAM(230)의 칩 인에이블인 DPCE[3:0]*, SRAM의 쓰기 인에이블인 DPWE*를 SRAM으로 드라이브하고, 읽기 전송인 경우엔, SRAM의 칩 인에이블인 DPCE[3:0]*, SRAM의 읽기 인에이블인 DPOE*를 드라이브한다.SRAM controller 214 when the transfer write yen, a chip enable a DPCE of SRAM (230): a is [3: 0] *, the enable write SRAM DPWE * the SRAM drives, yen when the read transfer, SRAM Drive DPCE [3: 0] * , the chip enable of, and DPOE * , the read enable of SRAM.

또한 버퍼 제어기(215)는 상기 SBus(120)가 전송을 할 수 있도록 버퍼 인에이블(SWIN), 쓰기 전송 또는 읽기 전송때의 버퍼 방향선택(SDIR)을 드라이브한다.In addition, the buffer controller 215 drives the buffer enable (SWIN), the buffer direction selection (SDIR) at the time of the write transfer or read transfer so that the SBus 120 can transfer.

상기 DPRAM 디코더(213)에서 SBus(120)가 DPRAM(211)의 인터럽트 영역을 어세스하는 경우로 판단되면, MPC860 인터럽트 발생기(216)는 MPC860(220)으로 MIRQ4*를 드라이브하여 인터럽트를 요청한다.If it is determined that the SBus 120 accesses the interrupt area of the DPRAM 211 by the DPRAM decoder 213, the MPC860 interrupt generator 216 drives MIRQ4 * to the MPC860 220 to request an interrupt.

상기 TA/ACK 발생기(217)는 SRAM(230)의 어세스 시간 후에 SBus(120)로 ACK[2:0]*를 드라이브하여 전송을 종료한다.The TA / ACK generator 217 drives ACK [2: 0] * to the SBus 120 after the access time of the SRAM 230 ends the transmission.

반대로 MPC860(220)에서 DPRAM(211)을 어세스하는 경우를 순서적으로 서술하면 다음과 같다.On the contrary, the case in which the DPRAM 211 is accessed in the MPC860 220 will be described sequentially.

상기 MPC860(220)이 CS4*, WE[3:0]*, OE*, MA[31:0](어드레스), MD[31:0](데이터)을 드라이브한다.The MPC860 220 drives CS4 * , WE [3: 0] * , OE * , MA [31: 0] (address), MD [31: 0] (data).

이때, 상기 WE[3:0]*가 드라이브되면 쓰기 전송이 되고, MD[31:0]은 MPC860의 출력이 되며, OE*가 드라이브되면 읽기 전송이 되고, MD[31:0]은 MPC860(220)의 입력이 된다.At this time, if WE [3: 0] * is driven, write transfer is performed, MD [31: 0] is output of MPC860, and if OE * is driven, read transfer is performed, and MD [31: 0] is MPC860 ( 220).

또한 상기 DPRAM 중재기(212)는 CS4*를 감지하여, MPC860(220)이 DPRAM(211)을 어세스하도록 허락한다.The DPRAM arbiter 212 also senses CS4 * and allows the MPC860 220 to access the DPRAM 211.

DPRAM 디코더(213)는 MPC860(220)의 MA[31:0], WE[3:0]*, OE*을 디코딩한다.The DPRAM decoder 213 decodes MA [31: 0], WE [3: 0] * , OE * of the MPC860 220.

그리고 SRAM 제어기(214)는 쓰기 전송인 경우엔 SRAM(230)의 칩 인에이블인 DPCE[3:0]*, SRAM(230)의 쓰기 인에이블인 DPWE*를 SRAM(230)으로 드라이브하고, 읽기 전송인 경우엔 SRAM(230)의 칩 인에이블인 DPCE[3:0]*, SRAM(230)의 읽기 인에이블인 DPOE*를 상기 SRAM(230)으로 드라이브한다.In the case of a write transfer, the SRAM controller 214 drives DPCE [3: 0] * , which is the chip enable of the SRAM 230, and DPWE * , which is the write enable of the SRAM 230, to the SRAM 230. In the case of transmission, the chip enable DPCE [3: 0] * and the read enable DPOE * of the SRAM 230 are driven to the SRAM 230.

버퍼 제어기(215)는 상기 MPC860(220)이 전송을 할 수 있도록 버퍼 인에이블(MWIN), 쓰기 전송 또는 읽기 전송때의 버퍼 방향선택(MDIR)을 드라이브한다.The buffer controller 215 drives a buffer enable (MWIN), a buffer direction selection (MDIR) at the time of a write transfer or a read transfer so that the MPC860 220 can transfer.

상기 TA/ACK 발생기(217)는 SRAM(230) 어세스 시간인 일정 시간 후에 MPC860(220)으로 TA*를 드라이브하여 전송을 종료한다.The TA / ACK generator 217 drives TA * to the MPC860 220 after a predetermined time, which is an access time of the SRAM 230, to terminate transmission.

도 3은 본 발명이 적용되는 DPRAM 구조도로서, DPRAM(211) 내부는 TX 영역(211a), RX 영역(211b), RX_Header 영역(211c), 인터럽트 영역(211d)으로 크게 구성된다.3 is a diagram illustrating a structure of a DPRAM to which the present invention is applied. The DPRAM 211 is largely comprised of a TX area 211a, an RX area 211b, an RX_Header area 211c, and an interrupt area 211d.

상기 TX 영역(211a)은 SBus(120)가 메시지를 쓰는 영역이며, 몇 개의 동일한 크기의 부분으로 나누어져 있어서 메시지를 여러개 저장할 수 있으며, 각 부분에는 플래그가 각각 존재한다.The TX area 211a is an area in which the SBus 120 writes a message. The TX area 211a is divided into several equally sized parts to store several messages, and each part has a flag.

SBus(120)는 플래그가 "0"인 부분만 쓸 수 있으며, TX 영역(211a)의 한 부분에 메시지를 쓴 후, 해당 플래그를 "1"로 세팅한다.The SBus 120 may write only a portion where the flag is "0", write a message in one portion of the TX area 211a, and set the corresponding flag to "1".

만일, 상기 TX 영역(211a)의 플래그가 모두 "1"이면, 인터럽트 영역(211d)에 TX_FULL에 해당하는 인터럽트를 MPC860(220)에게 세팅하면, MPC860(220)은 상기 TX 영역(211a)의 플래그를 폴링한다.If all the flags of the TX area 211a are "1", if the interrupt corresponding to TX_FULL is set to the MPC860 220 in the interrupt area 211d, the MPC860 220 may set the flag of the TX area 211a. Poll

플래그가 "1"인 부분이 있으면, 메시지를 읽고, 해당 플래그를 "0"으로 클리어한다.If there is a part whose flag is "1", the message is read and the flag is cleared to "0".

상기 RX 영역(211b)은 MPC860(220)이 메시지를 쓰는 영역이며, 몇 개의 동일한 크기의 부분으로 나누어져 있어서 메시지를 여러개 저장할 수 있다.The RX area 211b is an area in which the MPC860 220 writes a message. The RX area 211b is divided into several equally sized parts to store several messages.

각 부분에는 플래그가 각각 존재하는데, 상기 MPC860(220)은 플래그가 "0"인 부분만 쓸 수 있으며, RX 영역(211b)의 한 부분에 메시지를 쓴 후, 해당 플래그를 "1"로 세팅한다.Each part has a flag, and the MPC860 220 can write only the part whose flag is "0", and writes a message in one part of the RX area 211b and sets the corresponding flag to "1". .

만일, RX 영역(211b)의 플래그가 모두 "1"이면, 벡터 레지스터(240)에 RX_FULL에 해당하는 인터럽트를 세팅한다.If the flags of the RX area 211b are all "1", the interrupt corresponding to RX_FULL is set in the vector register 240.

MPC860(220)이 일정 시간 안에 쓸 메시지가 더 있다면, 계속 메시지를 쓸 수 있다.If the MPC860 220 has more messages to write within a certain time, it can continue to write messages.

일정 시간 후에 MPC860(220)은 RX_Header 영역(211c)에 SBus(120)가 읽어야 할 메시지가 있는 RX 영역(211b)의 시작 어드레스와 오프셋(Offset)을 쓰며, 이때, 오프셋이 "0"인지를 먼저 검사한다.After a certain time, the MPC860 220 writes the start address and offset of the RX area 211b in which the SBus 120 has a message to be read in the RX_Header area 211c. Check it.

MPC860(220)은 벡터 레지스터(240)에 RX_EN에 해당하는 인터럽트를 세팅하여 SBus(120)로 인터럽트를 요청한다.The MPC860 220 sets an interrupt corresponding to RX_EN in the vector register 240 and requests an interrupt to the SBus 120.

SBus(120)는 인터럽트 서비스로 RX_Header 영역(211c)을 읽어, 자신이 읽어야 할 메시지가 있는 RX 영역(211b)의 시작 어드레스와 오프셋을 얻는다.The SBus 120 reads the RX_Header area 211c as an interrupt service to obtain the start address and offset of the RX area 211b in which the message to be read is located.

또한 SBus(120)는 RX 영역(211b)의 시작 어드레스로부터 오프셋을 더한 어드레스까지의 메시지를 읽은 후, 해당 플래그를 "0"으로 클리어하고, RX_Header 영역(211c)의 오프셋을 "0"으로 클리어한다.Further, after reading the message from the start address of the RX area 211b to the address plus the offset, the SBus 120 clears the corresponding flag to "0" and clears the offset of the RX_Header area 211c to "0". .

상기 RX_Header 영역(211c)은 어드레스와 오프셋으로 구성되며, MPC860(220)이 메시지들을 RX 영역(211b)에 쓰고, 일정 시간 후에 그 시작 어드레스와 오프셋을 SBus(120)에 인터럽트로 알린다.The RX_Header area 211c is composed of an address and an offset, and the MPC860 220 writes messages to the RX area 211b and, after a predetermined time, notifies the SBus 120 of its start address and offset.

인터럽트 영역(211d)은 SBus(120)가 TX_FULL을 세팅할 때 사용된다.The interrupt area 211d is used when the SBus 120 sets TX_FULL.

인터럽트 영역(211d)에 SBus(120)로부터 벡터 값이 세팅되면, 자동적으로 MPC860(220)에 인터럽트(MIRQ4*)가 발생되고, MPC860(220)은 인터럽트 서비스를 수행한다.When the vector value is set from the SBus 120 in the interrupt area 211d, an interrupt MIRQ4 * is automatically generated in the MPC860 220, and the MPC860 220 performs an interrupt service.

벡터 레지스터(240)는 MPC860 보드 내부에 있는 것으로서, MPC860(220)이 정해진 주기에 따라 RX_EN을 세팅하거나 또는 RX_FULL일 때 세팅되는데, 이때 자동적으로 SBus(120)로 인터럽트(SIRQ4*)가 발생된다.The vector register 240 is in the MPC860 board, and is set when the MPC860 220 sets RX_EN or RX_FULL according to a predetermined period, and an interrupt SIRQ4 * is automatically generated to the SBus 120.

상기 도 3에서 주지하여야 할 사항은 SBus(120)는 메시지를 인터럽트 방식으로 MPC860(220)은 폴링 방식으로 처리한다는 점과 MPC860(220)이 정해진 주기에 따라 RX_EN을 세팅한다는 점이다.It should be noted in FIG. 3 that the SBus 120 processes the message in an interrupt manner, and the MPC860 220 processes the polling scheme, and the MPC860 220 sets RX_EN according to a predetermined period.

이는 본 발명을 구체화한 구조가 SPARC이 메인 프로세서(Main Processor)이고, MPC860(220)이 로컬 프로세서(Local Processor)이기 때문이다.This is because the embodiment of the present invention is that SPARC is the main processor and MPC860 220 is the local processor.

즉, SPARC은 주된 임무가 MPC860(220)와의 통신이 아니므로 부담을 많이 주는 폴링 방식 대신 인터럽트로 처리한 것이다.In other words, since the main task is not communication with the MPC860 (220), the SPARC is treated as an interrupt instead of a burdensome polling scheme.

또한 메시지 하나당 매번 인터럽트를 줄 수 없기 때문에, 정해진 시간동안 모아 놓은 메시지를 한꺼번에 처리하도록 한 것이다.In addition, because each message cannot be interrupted each time, the messages collected for a certain time are processed at once.

상기 도 2와 도 3을 근간으로 본 발명을 상세히 설명하면 다음과 같다.The present invention will be described in detail with reference to FIGS. 2 and 3 as follows.

먼저, SBus(120)에서 MPC860(220)으로 메시지를 전송하는 경우를 보면, SBus(120)가 DPRAM(211)의 TX 영역(211a)의 플래그를 검사한다.First, when the message is transmitted from the SBus 120 to the MPC860 220, the SBus 120 checks a flag of the TX area 211a of the DPRAM 211.

검사 후 플래그가 "0"인 부분이 있으면, 정상적으로 메시지를 쓸 준비를 한다.If there is a part with flag "0" after inspection, prepare to write a message normally.

상기 SBus(120)가 SEL*, AS*, Rd, SIZ[0:27](어드레스), SD[0:31](데이터)을 드라이브한다.The SBus 120 drives SEL * , AS *, Rd, SIZ [0:27] (address) and SD [0:31] (data).

이때, 상기 Rd가 "0"이 되어 쓰기 전송이 되고, SD[0:31]은 SBus(120)의 출력이 된다.At this time, Rd becomes "0" and write transfer is performed, and SD [0:31] becomes an output of the SBus 120.

DPRAM 중재기(212)는 상기 SEL*와 AS*를 감지하여 SBus(120)가 DPRAM(211)을 어세스하도록 허락한다.DPRAM arbiter 212 senses the SEL * and AS * and allows SBus 120 to access DPRAM 211.

DPRAM 디코더(213)는 SBus(120)의 SA[0:27], SIZ[2:0], Rd를 디코딩한다.The DPRAM decoder 213 decodes SA [0:27], SIZ [2: 0], and Rd of the SBus 120.

SRAM 제어기(214)는 SRAM(230)의 칩 엔에이블인 DPCE[3:0]*, SRAM(230) 쓰기 인에이블인 DPWE*를 상기 SRAM(230)으로 드라이브한다.SRAM controller 214 drives DPCE [3: 0] * , the chip enable of SRAM 230, and DPWE * , the write enable of SRAM 230, to SRAM 230.

버퍼 제어기(215)는 SBus(120)가 쓰기 전송을 할 수 있도록 버퍼 인에이블인 SWIN, 버퍼 방향선택인 SDIR를 드라이브한다.The buffer controller 215 drives the buffer enable SWIN and the buffer direction selection SDIR so that the SBus 120 can perform a write transfer.

한편 TA/ACK 발생기(217)는 SRAM(230)의 어세스 시간 후에 SBus(120)로 ACK[2:0]*를 드라이브하여 전송을 종료한다.Meanwhile, the TA / ACK generator 217 drives ACK [2: 0] * to the SBus 120 after the access time of the SRAM 230 and terminates the transmission.

그리고 상기 SBus(120)가 DPRAM(211)의 TX 영역(211a)의 해당 플래그를 "1"로 세팅한다.The SBus 120 sets the corresponding flag of the TX area 211a of the DPRAM 211 to "1".

MPC860(220)이 DPRAM(211)의 TX 영역(211a)의 플래그를 폴링하여 플래그가 "1"인 부분이 있으면, 메시지를 읽을 준비를 한다.The MPC860 220 polls a flag in the TX area 211a of the DPRAM 211 and prepares to read the message if there is a part whose flag is "1".

상기 MPC860(220)이 CS4*, OE*, MA[31:0](어드레스), MD[31;0](데이터)을 드라이브한다.The MPC860 220 drives CS4 * , OE * , MA [31: 0] (address), MD [31; 0] (data).

상기 OE*가 드라이브되어 읽기 전송이 되고, MD[31:0]은 MPC860(220)의 입력이 된다.The OE * is driven for read transmission, and MD [31: 0] is input to the MPC860 220.

상기 DPRAM 중재기(212)는 CS4*를 감지하여 MPC860(220)이 DPRAM(211)을 어세스하도록 허락한다.The DPRAM arbiter 212 senses CS4 * and allows MPC860 220 to access DPRAM 211.

DPRAM 디코더(213)는 MPC860(220)의 MA[31:0], OE*를 디코딩한다.The DPRAM decoder 213 decodes MA [31: 0], OE * of the MPC860 220.

SRAM 제어기(214)는 SRAM(230)의 칩 인에이블인 DPCE[3:0]*, SRAM(230)의 읽기 인에이블인 DPOE*를 SRAM(230)으로 드라이브한다.SRAM controller 214 drives DPCE [3: 0] * , the chip enable of SRAM 230, and DPOE * , the read enable of SRAM 230, to SRAM 230.

버퍼 제어기(215)는 MPC860(220)이 읽기 전송을 할 수 있도록 버퍼 인에이블(MWIN), 버퍼 방향선택(MDIR)을 드라이브한다.The buffer controller 215 drives the buffer enable MWIN and the buffer direction selector MDIR so that the MPC860 220 can perform a read transfer.

TA/ACK 발생기(217)는 상기 SRAM(230)의 어세스 시간 후에 MPC860(220)으로 TA*를 드라이브하여 전송을 종료한다.The TA / ACK generator 217 drives TA * to the MPC860 220 after the access time of the SRAM 230 and terminates the transmission.

그리고 MPC860(220)이 DPRAM(211)의 TX 영역(211a)의 해당 플래그를 "0"으로 클리어한다.The MPC860 220 clears the corresponding flag of the TX area 211a of the DPRAM 211 to "0".

상기 SBus(120)가 DPRAM(211)의 TX 영역(211a)의 플래그 검사에서 플래그가 "0"인 부분이 없으면, SBus(120)는 DPRAM(211)의 인터럽트 영역(211d)을 어세스하여 MPC860(220)으로 TX_FULL 인터럽트를 요구할 준비를 한다.If the SBus 120 does not have a portion where the flag is "0" in the flag check of the TX area 211a of the DPRAM 211, the SBus 120 accesses the interrupt area 211d of the DPRAM 211 to access the MPC860. At 220, prepare to request a TX_FULL interrupt.

또한 상기 SBus(120)가 SEL*, AS*, Rd, SIZ[0:27](어드레스), SD[0:31](데이터)을 드라이브하고, 이때, 상기 Rd가 "0"이 되어 쓰기 전송이 되고, SD[0:31]은 SBus(120)의 출력이 되는 것부터 TA/ACK 발생기(217)가 SRAM(230)의 어세스 시간 후에 SBus(120)로 ACK[2:0]*를 드라이브하여 전송을 종료하는 것까지를 반복한다.In addition, the SBus 120 drives SEL * , AS *, Rd, SIZ [0:27] (address), SD [0:31] (data), and at this time, Rd becomes " 0 " SD [0:31] is the output of the SBus 120, so that the TA / ACK generator 217 drives ACK [2: 0] * to the SBus 120 after the access time of the SRAM 230. Repeat the process until the transmission ends.

이때, SBus(120)가 DPRAM(211)의 인터럽트 영역(211d)에 쓰는 데이터는 메시지가 아니고, TX_FULL 인터럽트의 벡터이다.At this time, the data written to the interrupt area 211d of the DPRAM 211 by the SBus 120 is not a message but a vector of TX_FULL interrupts.

MPC860 인터럽트 발생기(216)는 MIRQ4*를 드라이브하여 MPC860(220)으로 인터럽트를 요청한다.The MPC860 interrupt generator 216 drives MIRQ4 * to request an interrupt to the MPC860 220.

MPC860(220)은 인터럽트를 접수하고, 인터럽트 서비스 루틴을 시작할 준비를 한다.MPC860 220 accepts an interrupt and prepares to begin an interrupt service routine.

상기 MPC860(220)이 CS4*, OE*, MA[31:0](어드레스), MD[31;0](데이터)을 드라이브하고, 상기 OE*가 드라이브되어 읽기 전송이 되고, MD[31:0]은 MPC860(220)의 입력이 되는 것에서부터 TA/ACK 발생기(217)가 상기 SRAM(230)의 어세스 시간 후에 MPC860(220)으로 TA*를 드라이브하여 전송을 종료하는 것까지를 반복하여, MPC860(220)은 DPRAM(211)의 인터럽트 영역(211d)에서 인터럽트 벡터를 읽고 메시지 읽기를 빨리 수행하여 DPRAM(211)의 TX 영역(211a)의 해당 플래그를 "0"으로 클리어한 후 다시 상기 SBus(120)가 DPRAM(211)의 TX 영역(211a)의 플래그 검사로 돌아간다.The MPC860 220 drives CS4 * , OE * , MA [31: 0] (address), MD [31; 0] (data), and the OE * is driven for read transfer, and MD [31: 0] is repeated from the input of the MPC860 220 to the TA / ACK generator 217 to drive the TA * to the MPC860 220 after the access time of the SRAM 230 to terminate transmission The MPC860 220 reads the interrupt vector from the interrupt region 211d of the DPRAM 211 and performs a message read quickly to clear the corresponding flag of the TX region 211a of the DPRAM 211 to "0" and then again. The SBus 120 returns to the flag check of the TX area 211a of the DPRAM 211.

다음으로 MPC860(220)에서 SBus(120)로 메시지를 전송하는 경우를 보면, MPC860(220)이 DPRAM(211)의 RX 영역(211b)의 플래그를 검사한다.Next, when the message is transmitted from the MPC860 220 to the SBus 120, the MPC860 220 checks a flag of the RX region 211b of the DPRAM 211.

플래그 검사 후 "0"인 부분이 있으면 정상적으로 메시지를 쓸 준비를 한다.After checking the flag, if there is "0" part, prepare to write the message normally.

그리고, MPC860(220)이 CS4*, WE[3:0]*, MA[31:0](어드레스), MD[31:0](데이터)을 드라이브하고, 상기 WE[3:0]*가 드라이브되어 쓰기 전송이 되고, MD[31:0]은 MPC860(220)의 출력이 된다.The MPC860 220 drives CS4 * , WE [3: 0] * , MA [31: 0] (address), MD [31: 0] (data), and WE [3: 0] * Driven to write transfer, MD [31: 0] is the output of the MPC860 (220).

DPRAM 중재기(211a)는 CS4*를 감지하여 MPC860(220)이 DPRAM(211)을 어세스하도록 허락한다.DPRAM arbiter 211a senses CS4 * and allows MPC860 220 to access DPRAM 211.

DPRAM 디코더(213)는 MPC860(220)의 MA[31:0], WE[3:0]*를 디코딩하며, SRAM 제어기(214)는 SRAM(230)의 칩 인에이블(DPCE[3:0]*), SRAM(230)의 쓰기 인에이블(DPWE*)을 SRAM(230)으로 드라이브한다.The DPRAM decoder 213 decodes MA [31: 0], WE [3: 0] * of the MPC860 220, and the SRAM controller 214 enables the chip enable (DPCE [3: 0] of the SRAM 230. * ), The write enable DPWE * of the SRAM 230 is driven to the SRAM 230.

버퍼 제어기(215)는 MPC860(220)이 쓰기 전송을 할 수 있도록 버퍼 인에이블(MWIN), 버퍼 방향선택(MDIR)을 드라이브한다.The buffer controller 215 drives the buffer enable MWIN and the buffer direction selector MDIR so that the MPC860 220 can perform a write transfer.

TA/ACK 발생기(217)는 상기 SRAM(230)의 어세스 시간, 즉 20ns의 일정 시간 후에 MPC860(220)으로 TA*를 드라이브하여 전송을 종료한다.The TA / ACK generator 217 drives TA * to the MPC860 220 after the access time of the SRAM 230, that is, 20 ns, ends the transmission.

상기 MPC860(220)이 DPRAM(211)의 RX 영역(211b)의 해당 플래그를 "1"로 세팅한다.The MPC860 220 sets the corresponding flag of the RX area 211b of the DPRAM 211 to "1".

일정 시간동안 MPC860(220)이 쓸 메시지가 더 있다면 상기 MPC860(220)이 DPRAM(211)의 RX 영역(211b)의 플래그 검사에서부터 MPC860(220)이 DPRAM(211)의 RX 영역(211b)의 해당 플래그를 "1"로 세팅하는 것까지를 반복한다.If there are more messages to be written by the MPC860 220 for a certain period of time, the MPC860 220 checks the flag of the RX area 211b of the DPRAM 211 and then the MPC860 220 corresponds to the RX area 211b of the DPRAM 211. Repeat until the flag is set to "1".

일정 시간 후에 MPC860(220)은 RX_Header 영역(211c)에 SBus(120)가 읽어야 할 RX 영역의 시작 어드레스 및 오프셋(Offset)을 쓸 준비를 한다.After a certain time, the MPC860 220 prepares to write the start address and offset of the RX region to be read by the SBus 120 in the RX_Header region 211c.

MPC860(220)은 상기 MPC860이 CS4*, WE[3:0]*, MA[31:0](어드레스), MD[31:0](데이터)을 드라이브하면, 상기 WE[3:0]*가 드라이브되어 쓰기 전송이 되고, MD[31:0]은 MPC860(220)의 출력이 되는 것에서부터 상기 TA/ACK 발생기(217)는 상기 SRAM(230)의 어세스 시간, 즉 20ns의 일정 시간 후에 MPC860(220)으로 TA*를 드라이브하여 전송을 종료하는 것까지를 반복하여 RX_Header 영역(211c)을 어세스한다.MPC860 (220) is the MPC860 the CS4 *, WE [3: 0 ] *, MA [31: 0] ( the address), MD [31: 0] when the drive (data), the WE [3: 0] * Is driven to perform a write transfer, and MD [31: 0] becomes the output of the MPC860 220, so that the TA / ACK generator 217 has a predetermined time of access time of the SRAM 230, that is, 20 ns. The RX_Header area 211c is accessed by repeatedly driving TA * to the MPC860 220 to terminate the transmission.

상기 MPC860(220)은 SBus(120)로 RX_EN 인터럽트를 요구할 준비를 하며, CS6*, WE[3:0]*, MA[31:0](어드레스), MD[31:0](데이터)를 드라이브하여 RX 영역(211b)에 읽어가야할 메시지가 있다는 것을 의미하는 RX_EN 인터럽트 벡터를 벡터 레지터(240)에 쓴다.The MPC860 220 prepares to request an RX_EN interrupt to the SBus 120, and sends CS6 * , WE [3: 0] * , MA [31: 0] (address), MD [31: 0] (data). The RX_EN interrupt vector, which means that there is a message to be read and read in the RX area 211b, is written to the vector register 240.

상기 WE[3:0]*가 드라이브되어 쓰기 전송이 되고, MD[31:0]은 MPC860(220)의 출력이 된다.The WE [3: 0] * is driven to write transfer, and the MD [31: 0] is the output of the MPC860 220.

벡터 레지스터(240)는 SBus(120)로 SIRQ4*를 드라이브하여 RX_EN에 대한 인터럽트를 요구한다.Vector register 240 drives SIRQ4 * to SBus 120 to request an interrupt for RX_EN.

SBus(120)는 인터럽트를 접수하고, 인터럽트 벡터 레지스터(240)의 인터럽트 벡터를 읽는 동작인 인터럽트 서비스 루틴 1을 시작할 준비를 한다.SBus 120 accepts an interrupt and prepares to begin interrupt service routine 1, which is an operation that reads the interrupt vector of interrupt vector register 240.

또한 SBus(120)가 SEL*, AS*, SIZ[2:0], SA[0:27](어드레스), SD[0:31](데이터)을 드라이브한다.The SBus 120 also drives SEL *, AS *, SIZ [2: 0], SA [0:27] (address) and SD [0:31] (data).

이때, Rd가 "1"이 되어 읽기 전송이 되고, SD[0:31]은 SBus(120)의 입력이 된다.At this time, Rd becomes "1" and read transmission is performed, and SD [0:31] is input to the SBus 120.

DPRAM 중재기(211a)는 SEL*와 AS*를 감지하여 SBus(120)가 DPRAM(211)을 어세스하도록 한다.The DPRAM arbiter 211a senses SEL * and AS * and allows the SBus 120 to access the DPRAM 211.

DPRAM 디코더(213)는 SBus(120)의 SA[0:27], SIZ[2:0], Rd를 디코딩한다.The DPRAM decoder 213 decodes SA [0:27], SIZ [2: 0], and Rd of the SBus 120.

SRAM 제어기(214)는 SRAM(230)의 칩 인에이블인 DPCE[3:0]*, SRAM(230)의 읽기 인에이블인 DPOE*를 DPRAM(211)으로 드라이브한다.The SRAM controller 214 drives DPCE [3: 0] * , which is the chip enable of the SRAM 230, and DPOE * , which is the read enable of the SRAM 230, to the DPRAM 211.

버퍼 제어기(215)는 SBus(120)가 읽기 전송을 할 수 있도록 버퍼 인에이블(SWIN), 버퍼 방향선택(SDIR)을 드라이브한다.The buffer controller 215 drives the buffer enable (SWIN) and the buffer direction selection (SDIR) so that the SBus 120 can perform a read transfer.

TA/ACK 발생기(216)는 상기 SRAM(230)의 어세스 시간, 즉 20ns인 일정 시간 후에 SBus(120)로 ACK[2:0]*를 드라이브하여 전송을 종료한다.The TA / ACK generator 216 drives ACK [2: 0] * to the SBus 120 after the access time of the SRAM 230, that is, 20 ns, and terminates the transmission.

그리고 상기 SBus(120)가 벡터 레지스터(240)를 클리어하여 인터럽트 서비스 루틴 1을 종료한다.The SBus 120 clears the vector register 240 to end the interrupt service routine 1.

SBus(120)는 상기 SBus가 SEL*, AS*, SIZ[2:0], SA[0:27](어드레스), SD[0:31](데이터)을 드라이브하고, 이때, Rd가 "1"이 되어 읽기 전송이 되고, SD[0:31]은 SBus의 입력이 되는 것에서부터 상기 SBus가 벡터 레지스터(240)를 클리어하여 인터럽트 서비스 루틴 1을 종료하는 것까지의 과정으로 읽은 인터럽트 벡터의 소스가 RX_EN임을 확인하고, RX_Header 영역(211c)의 시작 어드레스 및 오프셋을 읽는 동작인 인터럽트 서비스 루틴 2를 시작할 준비를 한다.SBus 120 drives SEL *, AS *, SIZ [2: 0], SA [0:27] (address), SD [0:31] (data), where Rd is " 1 " Is a read transfer, and SD [0:31] is the source of the interrupt vector read from the input of the SBus to the termination of the interrupt service routine 1 by the SBus clearing the vector register 240. Confirms that is RX_EN, and prepares to start interrupt service routine 2, which is an operation of reading the start address and offset of the RX_Header area 211c.

SBus(120)는 상기 SBus가 SEL*, AS*, SIZ[2:0], SA[0:27](어드레스), SD[0:31](데이터)을 드라이브하고, 이때, Rd가 "1"이 되어 읽기 전송이 되고, SD[0:31]은 SBus(120)의 입력이 되는 것에서부터 TA/ACK 발생기(217)는 상기 SRAM(230)의 어세스 시간, 즉 20ns인 일정 시간 후에 SBus(120)로 ACK[2:0]*를 드라이브하여 전송을 종료하는 것까지를 반복하여 인터럽트 서비스 루틴 2를 완료한다.SBus 120 drives SEL *, AS *, SIZ [2: 0], SA [0:27] (address), SD [0:31] (data), where Rd is " 1 "&Quot; read transfer, and SD [0:31] is inputted to the SBus 120, so that the TA / ACK generator 217 receives the SBus after a predetermined time, which is the access time of the SRAM 230, that is, 20 ns. Interrupt service routine 2 is completed by repeatedly driving ACK [2: 0] * to terminate transmission at 120.

그 결과 SBus(120)는 읽어가야 할 메시지가 있는 RX 영역(211b)의 시작 어드레스와 오프셋을 얻는다.As a result, the SBus 120 obtains the start address and offset of the RX area 211b in which the message to be read is located.

SBus(120)는 RX 영역(211b)의 주어진 시작 어드레스로부터 오프셋을 더한 어드레스까지 상기 SBus(120)가 SEL*, AS*, SIZ[2:0], SA[0:27](어드레스), SD[0:31](데이터)을 드라이브하고, 이때, Rd가 "1"이 되어 읽기 전송이 되고, SD[0:31]은 SBus(120)의 입력이 되는 것에서부터 TA/ACK 발생기(217)는 상기 SRAM(230)의 어세스 시간, 즉 20ns인 일정 시간 후에 SBus(120)로 ACK[2:0]*를 드라이브하여 전송을 종료하는 것까지를 반복하여 메시지를 읽고 해당 플래그를 "0"으로 클리어한다.The SBus 120 is configured such that the SBus 120 receives SEL *, AS *, SIZ [2: 0], SA [0:27] (address), SD from the given start address of the RX area 211b to the address plus the offset. Drive [0:31] (data), at which time Rd becomes " 1 " for read transmission, and SD [0:31] is the input of SBus 120 from TA / ACK generator 217. Reads the message repeatedly by driving ACK [2: 0] * to the SBus 120 after the access time of the SRAM 230, that is, 20 ns, to terminate the transmission, and sets the corresponding flag to "0". Cleared with

상기 MPC860(220)이 DPRAM(211)의 RX 영역(211b)의 플래그 검사에서 플래그가 "0"인 부분이 없으면, MPC860(220)은 벡터 레지스터(240)를 어세스하여 SBus(120)로 RX_FULL 인터럽트를 요구할 준비를 한다.If the MPC860 220 does not have a portion where the flag is "0" in the flag check of the RX area 211b of the DPRAM 211, the MPC860 220 accesses the vector register 240 to RB_FULL to the SBus 120. Prepare to request an interrupt.

MPC860(220)이 CS6*, WE[3:0]*, MA[31:0](어드레스), MD[31:0](데이터)을 드라이브하여 벡터 레지스터(240)에 RX_FULL 인터럽트를 쓴다.The MPC860 220 drives CS6 * , WE [3: 0] * , MA [31: 0] (address) and MD [31: 0] (data) to write an RX_FULL interrupt to the vector register 240.

이때, 상기 WE[3:0]*가 드라이브되어 쓰기 전송이 되고, MD[31:0]은 MPC860(220)의 출력이 된다.At this time, the WE [3: 0] * is driven to write transfer, and the MD [31: 0] is the output of the MPC860 220.

벡터 레지스터(240)는 SBus(120)로 SIRQ4*를 드라이브하여 RX_FULL에 대한 인터럽트를 요구한다.Vector register 240 drives SIRQ4 * with SBus 120 to request an interrupt for RX_FULL.

그리고, SBus(120)는 인터럽트를 접수하고, 벡터 레지스터(240)의 인터럽트 벡터를 읽는 동작인 인터럽트 서비스 루틴 1을 시작할 준비를 한다.The SBus 120 receives the interrupt and prepares to start the interrupt service routine 1 which is an operation of reading the interrupt vector of the vector register 240.

상기 SBus(120)가 SEL*, AS*, SIZ[2:0], SA[0:27](어드레스), SD[0:31](데이터)을 드라이브하고, 이때, Rd가 "1"이 되어 읽기 전송이 되고, SD[0:31]은 SBus(120)의 입력이 되는 것에서부터 상기 SBus(120)가 벡터 레지스터(240)를 클리어하여 인터럽트 서비스 루틴 1을 종료하는 것까지의 과정으로 읽은 인터럽트 벡터의 소스가 RX_FULL임을 확인하고, 메시지 읽기를 빨리 수행하여 DPRAM(211)의 RX 영역(211b)의 해당 플래그를 "0"으로 클리어한다.The SBus 120 drives SEL *, AS *, SIZ [2: 0], SA [0:27] (address), SD [0:31] (data), where Rd is " 1 " SD [0:31] is read from the input of the SBus 120 to the SBus 120 clearing the vector register 240 to terminate the interrupt service routine 1. After confirming that the source of the interrupt vector is RX_FULL, the message is read quickly to clear the corresponding flag in the RX area 211b of the DPRAM 211 to " 0 ".

그리고, 다시 상기 MPC860(220)이 DPRAM(211)의 RX 영역(211b)의 플래그 검사로 돌아간다.The MPC860 220 then returns to the flag check of the RX region 211b of the DPRAM 211.

상술한 바와 같이 본 발명은 실제로 메시지가 대량인 경우, 다운로딩(Downloading) 등을 할 때에는 DPRAM을 이용하는 방법이 효과적이지 않으나, 그렇지 않은 경우에는 전송 매체나 프로토콜을 거치지 않으므로 가격 및 데이터 손실 방지면에서 훨씬 좋은 성능을 보일 수 있는 효과를 가진다.As described above, the present invention is not effective in using a DPRAM when downloading a message when the message is actually large, but otherwise, since it does not go through a transmission medium or a protocol, in terms of price and data loss prevention It has the effect of showing much better performance.

Claims (3)

상용 스태틱램과 이중 포트램 중재기, 이중 포트램 디코더, 상용 스태틱 형 램 제어기, 버퍼 제어기, 엠피시860(MPC860) 인터럽트 발생기, TA/ACK 발생기를 구비한 이중 포트램(DPRAM) 주변 로직이 존재하고, 상기 DPRAM 내부에 TX, RX, RX_Header, 인터럽트영역을 포함하여 측정가능 프로세서 구조(SPARC) 계열의 SBus와 MPC860의 통신장치 구현방법에 있어서,There is a commercial logic and dual port RAM arbiter, dual port RAM decoder, commercial static RAM controller, buffer controller, dual port RAM (DPRAM) peripheral logic with TA ACK generator. In the method of implementing a communication device of the SBus and MPC860 of the measurable processor architecture (SPARC) series including TX, RX, RX_Header, and interrupt area in the DPRAM, 상기 SBus에서 MPC860으로 메시지를 전송하는 제 1 과정과;A first step of transmitting a message from the SBus to an MPC860; 상기 MPC860에서 SBus로 메시지를 전송하는 제 2 과정을 포함하는 것을 특징으로 하는 측정가능 프로세서 구조 계열의 에스버스와 엠피시860의 통신장치 구현방법.And a second process of transmitting a message from the MPC860 to the SBus. 제 1 항에 있어서, 상기 제 1 과정은The method of claim 1, wherein the first process is 상기 SBus가 DPRAM의 플래그를 검사한 후 플래그가 "0"인 부분이 있으면, 정상적으로 메시지를 쓸 준비를 하는 제 1 단계와;A first step of preparing to write a message normally when the SBus checks a flag of the DPRAM and there is a portion where the flag is "0"; 상기 SBus가 SEL*, AS*, Rd, SIZ[2:0], 어드레스(SA[0:27]), 데이터(SD[0:31])를 드라이브하며, 이때, 상기 Rd를 "0"으로 하여 쓰기 전송으로 하고, SD[0:31]은 SBus의 출력으로 하는 제 2 단계와;The SBus drives SEL * , AS *, Rd, SIZ [2: 0], address SA [0:27], and data SD [0:31], where Rd is set to " 0 &quot;. A second step in which write transfer is performed, and SD [0:31] is an output of SBus; DPRAM 중재기는 상기 SEL*와 AS*를 감지하여 SBus가 DPRAM을 어세스하도록 허락하는 제 3 단계와;A DPRAM arbiter detects the SEL * and AS * and permits the SBus to access the DPRAM; DPRAM 디코더는 상기 SBus의 SA[0:27], SIZ[2:0], Rd를 디코딩하는 제 4 단계와;A DPRAM decoder comprises: a fourth step of decoding SA [0:27], SIZ [2: 0], Rd of the SBus; 디코딩 후 SRAM 제어기는 SRAM의 칩 인에이블(DPCE[3:0]*)과 쓰기 인에이블(DPWE*)을 상기 SRAM으로 드라이브하는 제 5 단계와;After decoding, the SRAM controller may further include driving a chip enable (DPCE [3: 0] * ) and write enable (DPWE * ) of the SRAM into the SRAM; 버퍼 제어기는 상기 SBus가 쓰기 전송을 할 수 있도록 버퍼 인에이블(SWIN)과 버터방향선택(SDIR)을 드라이브하는 제 6 단계와;A buffer controller is configured to drive a buffer enable (SWIN) and a butter direction selection (SDIR) to allow the SBus to perform a write transfer; 상기 TA/ACK 발생기는 SRAM의 어세스 시간 후에 SBus로 ACK[2:0]*를 드라이브하여 전송을 종료하는 제 7 단계와;The TA / ACK generator drives a ACK [2: 0] * to the SBus after the access time of the SRAM to terminate transmission; 상기 SBus가 DPRAM의 TX 영역의 해당 플래그를 세팅한 후 MPC860이 DPRAM의 TX 영역의 플래그를 폴링하여 플래그가 "1"인 부분이 있으면 메시지를 읽을 준비를 하는 제 8 단계와;An eighth step of, after the SBus sets a corresponding flag of the TX area of the DPRAM, the MPC860 polls the flag of the TX area of the DPRAM to prepare to read the message if there is a portion of which the flag is "1"; 상기 MPC860이 CS4*, OE*, 어드레스(MA[31:0]), 데이터(MD[31:0])를 드라이브하여 읽기 전송이 되고, MD[31:0]은 MPC860의 입력이 되는 제 9 단계와;The MPC860 drives CS4 * , OE * , address MA [31: 0], and data MD [31: 0] for read transmission, and MD [31: 0] is an input of MPC860. Steps; DPRAM 중재기는 상기 CS4*를 감지하여 MPC860이 DPRAM을 어세스하도록 허락하는 제 10 단계와;A DPRAM arbiter detects the CS4 * and allows the MPC860 to access the DPRAM; DPRAM 디코더는 상기 MPC860의 MA[31:0], OE*를 디코딩한 후, SRAM 제어기가 SRAM의 칩 인에이블인 DPCE[3:0]*, SRAM의 읽기 인에이블 DPOE*를 SRAM으로 드라이브하는 제 11 단계와;The DPRAM decoder decodes MA [31: 0] and OE * of the MPC860, and then the SRAM controller drives DPCE [3: 0] * , the chip enable of SRAM, and the read enable DPOE * of SRAM into SRAM. 11 steps; 버퍼 제어기는 MPC860이 읽기 전송을 할 수 있도록 버퍼 인에이블(MWIN), 버퍼 방향선택(MDIR)을 드라이브하는 제 12 단계와;The buffer controller includes a twelfth step of driving a buffer enable (MWIN) and a buffer direction selector (MDIR) to allow the MPC860 to perform a read transfer; 상기 TA/ACK 발생기는 상기 SRAM의 어세스 시간 후에 MPC860으로 TA*를 드라이브하여 전송을 종료하는 제 13 단계와;The TA / ACK generator driving a TA * to the MPC860 after the access time of the SRAM to terminate transmission; 상기 MPC860이 DPRAM의 TX 영역의 해당 플래그를 "0"으로 클리어하는 제 14 단계와;A fourteenth step of, by the MPC860, clearing the corresponding flag of the TX area of the DPRAM to "0"; 상기 SBus가 DPRAM의 TX 영역의 플래그 검사 후 플래그가 "0"인 부분이 없으면, SBus는 DPRAM의 인터럽트영역을 어세스하여 MPC860으로 TX_FULL 인터럽트를 요구할 준비를 하는 제 15 단계와;A 15th step in which the SBus prepares to request a TX_FULL interrupt to the MPC860 by accessing the interrupt area of the DPRAM if the SBus does not have a portion of the flag "0" after checking the flag of the TX area of the DPRAM; 상기 SBus가 SEL*, AS*, Rd, 어드레스(SIZ[0:27]), 데이터(SD[0:31])를 드라이브하고, 상기 Rd를 "0"으로하여 쓰기 전송이 되고, SD[0:31]을 SBus의 출력이 되는 것부터 TA/ACK 발생기가 SRAM의 어세스 시간 후에 SBus로 ACK[2:0]*를 드라이브하여 전송을 종료하는 것까지를 반복하는 제 16 단계와;The SBus drives SEL * , AS *, Rd, address SIZ [0:27], data SD [0:31], write transfers with Rd set to " 0 &quot;, and SD [0]. Step 16: repeating the output from the SBus to the output of the SBus from the TA / ACK generator to driving the ACK [2: 0] * to the SBus after the SRAM access time; 상기 MPC860 인터럽트 발생기는 MIRQ4*를 드라이브하여 MPC860으로 인터럽트를 요청한 후 인터럽트를 접수하고, 인터럽트 서비스 루틴을 시작할 준비를 하는 제 17 단계와;The MPC860 interrupt generator drives MIRQ4 * to request an interrupt to the MPC860, receives an interrupt, and prepares to start an interrupt service routine; 상기 MPC860이 CS4*, OE*, 어드레스(MA[31:0]), 데이터(MD[31:0])를 드라이브하는 제 18 단계와;An eighteenth step in which the MPC860 drives CS4 * , OE * , address MA [31: 0], data MD [31: 0]; 상기 OE*가 드라이브되어 읽기 전송이 되며, MD[31:0]이 MPC860의 입력이 되는 것부터 TA/ACK 발생기가 상기 SRAM의 어세스 시간 후에 MPC860으로 TA*를 드라이브하여 전송을 종료하는 것까지를 반복하는 제 19 단계와;The OE * is driven and read-transferd, and MD [31: 0] is inputted to the MPC860 until the TA / ACK generator drives TA * to the MPC860 after the access time of the SRAM to terminate transmission. Repeating the nineteenth step; 상기 반복 수행 후 MPC860을 DPRAM의 인터럽트 영역에서 인터럽트 벡터를 읽고 메시지 읽기를 수행하여 DPRAM의 TX 영역의 해당 플래그를 "0"으로 클리어한 후, 상기 SBus가 DPRAM의 TX 영역의 플래그 검사로 돌아가는 제 20 단계로 이루어지는 것을 특징으로 하는 측정가능 프로세서 구조 계열의 에스버스와 엠피시860의 통신장치 구현방법.After the repetition, the MPC860 reads the interrupt vector in the interrupt area of the DPRAM and reads the message to clear the corresponding flag in the TX area of the DPRAM to "0", and then the SBus returns to the flag check of the TX area of the DPRAM. A method of implementing a communication device of an ES BUS and an MP860 of a measurable processor structure series, comprising the steps of: 제 1 항에 있어서, 상기 제 2 과정은The method of claim 1, wherein the second process MPC860이 DPRAM의 RX 영역의 플래그를 검사한 후 "0"인 부분이 있으면 정상적으로 메시지를 쓸 준비를 하는 제 1 단계와;A first step in which the MPC860 checks the flag of the RX area of the DPRAM and then prepares to write a message normally if there is a portion of "0"; 상기 MPC860이 CS4*, WE[3:0]*, 어드레스(MA[31:0]), 데이터(MD[31:0])를 드라이브하여, 쓰기 전송이 되고, MD[31:0]는 MPC860의 출력이 되는 제 2 단계와;The MPC860 drives CS4 * , WE [3: 0] * , address MA [31: 0] and data MD [31: 0] to perform write transfer, and MD [31: 0] is MPC860. A second step of outputting a; DPRAM 중재기는 상기 CS4*를 감지하여 MPC860이 DPRAM을 어세스하도록 허락하는 제 3 단계와;A DPRAM arbiter detects the CS4 * and permits the MPC860 to access the DPRAM; DPRAM 디코더는 상기 MPC860의 MA[31:0], WE[3:0]*를 디코딩하며, SRAM 제어기는 SRAM의 칩 인에이블(DPCE[3:0]*), SRAM의 쓰기 인에이블(DPWE*)을 SRAM으로 드라이브하는 제 4 단계와;The DPRAM decoder decodes MA [31: 0] and WE [3: 0] * of the MPC860, and the SRAM controller enables chip enable (DPCE [3: 0] * ) of the SRAM and write enable (DPWE * ) of the SRAM. 4) driving the SRAM into the SRAM; 버퍼 제어기는 상기 MPC860이 쓰기 전송을 할 수 있도록 버퍼 인에이블(MWIN), 버퍼 방향선택(MDIR)을 드라이브하는 제 5 단계와;A buffer controller is configured to drive a buffer enable (MWIN) and a buffer direction selector (MDIR) to allow the MPC860 to perform a write transfer; TA/ACK 발생기는 상기 SRAM의 어세스 시간 후에 MPC860으로 TA*를 드라이브하여 전송을 종료하는 제 6 단계와;The TA / ACK generator is configured to drive TA * to MPC860 after the access time of the SRAM to terminate transmission; 상기 MPC860이 DPRAM의 RX 영역의 해당 플래그를 "1"로 세팅한 후, 일정 시간동안 MPC860이 쓸 메시지가 더 있다면 상기 MPC860이 DPRAM의 RX 영역의 플래그 검사에서부터 MPC860이 DPRAM의 RX 영역의 해당 플래그를 "1"로 세팅하는 것까지를 반복하는 제 7 단계와;After the MPC860 sets the corresponding flag in the RX area of the DPRAM to "1", if there are more messages to be written by the MPC860 for a certain period of time, the MPC860 checks the flag in the RX area of the DPRAM and the MPC860 sets the corresponding flag in the RX area of the DPRAM. A seventh step of repeating the setting to "1"; 일정 시간 후에 MPC860은 RX_Header 영역에 SBus가 읽어야 할 RX 영역의 시작 어드레스 및 오프셋을 쓸 준비를 한 후, 상기 MPC860이 CS4*, WE[3:0]*, 어드레스(MA[31:0])), 데이터(MD[31:0])를 드라이브하여, 쓰기 전송이 되는 제 8 단계와;After a certain time, the MPC860 prepares to write the start address and offset of the RX area to be read by the SBus in the RX_Header area, and then the MPC860 reads CS4 * , WE [3: 0] * , address (MA [31: 0])) An eighth step of driving data MD [31: 0] and performing write transfer; 상기 MD[31:0]은 MPC860의 출력이 되는 것에서부터 상기 TA/ACK 발생기는 상기 SRAM의 어세스 시간 후에 MPC860으로 TA*를 드라이브하여 전송을 종료하는 것까지를 반복하여 RX_Header 영역을 어세스하는 제 9 단계와;The MD [31: 0] outputs the MPC860, and the TA / ACK generator repeatedly accesses the RX_Header region from the time of terminating the transmission by driving TA * to the MPC860 after the access time of the SRAM. A ninth step; 상기 MPC860은 SBus로 RX_EN 인터럽트를 요구할 준비를 한 후 CS6*, WE[3:0]*, MA[31:0], MD[31:0]을 드라이브하여 RX 영역에 SBus가 읽어가야할 메시지가 있다는 것을 의미하는 RX_EN 인터럽트 벡터를 벡터 레지스터에 쓰는 제 10 단계와;The MPC860 prepares to request the RX_EN interrupt to the SBus and then drives CS6 * , WE [3: 0] * , MA [31: 0], MD [31: 0] to indicate that the SBus has a message to be read in the RX area. A tenth step of writing an RX_EN interrupt vector to a vector register; 상기 WE[3:0]*가 드라이브되어 쓰기 전송이 되고, MD[31:0]은 MPC860의 출력이 되는 제 11 단계와;An eleventh step in which the WE [3: 0] * is driven to perform a write transfer, and the MD [31: 0] is an output of the MPC860; 상기 벡터 레지스터는 SBus로 SIRQ4*를 드라이브하여 RX_EN에 대한 인터럽트를 요구한 후 인터럽트를 접수하고, 벡터 레지스터의 인터럽트 벡터를 읽는 동작인 인터럽트 서비스 루틴 1을 시작할 준비를 하는 제 12 단계와;The vector register drives SIRQ4 * with SBus, requests an interrupt for RX_EN, receives an interrupt, and prepares to start interrupt service routine 1, which is an operation of reading an interrupt vector of the vector register; SBus가 SEL*, AS*, SIZ[2:0], 어드레스(SA[0:27]), 데이터(SD[0:31])를 드라이브한 후, Rd가 "1"이 되어 읽기 전송이 되고, SD[0:31]는 SBus의 입력이 되는 제 13 단계와;After SBus drives SEL *, AS *, SIZ [2: 0], address (SA [0:27]) and data (SD [0:31]), Rd becomes "1" and read transfer is performed. SD [0:31] is a thirteenth step of inputting an SBus; 상기 DPRAM 중재기는 SEL*와 AS*를 감지하여 SBus가 DPRAM을 어세스하도록 하며, DPRAM 디코더는 SBus의 SA[0:27], SIZ[2:0], Rd를 디코딩하는 제 14 단계와;The DPRAM arbiter detects SEL * and AS * and allows the SBus to access the DPRAM, and the DPRAM decoder includes a fourteenth step of decoding SA [0:27], SIZ [2: 0], and Rd of the SBus; 상기 SRAM 제어기는 SRAM의 칩 인에이블인 DPCE[3:0]*, SRAM의 읽기 인에이블인 DPOE*를 SRAM으로 드라이브하는 제 15 단계와;The SRAM controller is configured to drive DPCE [3: 0] * , the chip enable of SRAM, and DPOE * , the read enable of SRAM, to SRAM; 버퍼 제어기는 SBus가 읽기 전송을 할 수 있도록 버퍼 인에이블(SWIN), 버퍼 방향선택(SDIR)을 드라이브하는 제 16 단계와;A buffer controller (16) for driving a buffer enable (SWIN) and a buffer direction selection (SDIR) so that the SBus can perform a read transfer; 상기 TA/ACK 발생기는 상기 SRAM의 어세스 시간 후에 SBus로 ACK[2:0]*를 드라이브하여 전송을 종료하는 제 17 단계와;The TA / ACK generator drives an ACK [2: 0] * to the SBus after the access time of the SRAM to terminate transmission; 상기 SBus가 벡터 레지스터를 클리어하여 인터럽트 서비스 루틴 1을 종료하는 제 18 단계와;An eighteenth step of terminating interrupt service routine 1 by the SBus clearing a vector register; SBus는 상기 SBus가 SEL*, AS*, SIZ[2:0], 어드레스(SA[0:27]), 데이터(SD[0:31])를 드라이브하고, Rd가 "1"이 되어 읽기 전송이 되고, SD[0:31]는 SBus의 입력이 되는 것에서부터 상기 SBus가 벡터 레지스터를 클리어하여 인터럽트 서비스 루틴 1을 종료하는 것까지의 과정으로 읽은 인터럽트 벡터의 소스가 RX_EN임을 확인하고, RX_Header 영역의 시작 어드레스 및 오프셋을 읽는 동작인 인터럽트 서비스 루틴 2를 시작할 준비를 하는 제 19 단계와;The SBus drives reads when the SBus drives SEL *, AS *, SIZ [2: 0], address (SA [0:27]) and data (SD [0:31]), and Rd becomes "1". SD [0:31] confirms that the source of the interrupt vector read is RX_EN in the process from inputting the SBus to the SBus clearing the vector register and ending the interrupt service routine 1. A nineteenth step of preparing to start an interrupt service routine 2 which is an operation of reading a starting address and an offset of the first; SBus는 상기 SBus가 SEL*, AS*, SIZ[2:0], 어드레스(SA[0:27]), 데이터(SD[0:31])를 드라이브하고, Rd가 "1"이 되어 읽기 전송이 되고, SD[0:31]는 SBus의 입력이 되는 것에서부터 TA/ACK 발생기는 상기 SRAM의 어세스 시간 후에 SBus로 ACK[2:0]*를 드라이브하여 전송을 종료하는 것까지를 반복하여 인터럽트 서비스 루틴 2를 완료하는 제 20 단계와;The SBus drives reads when the SBus drives SEL *, AS *, SIZ [2: 0], address (SA [0:27]) and data (SD [0:31]), and Rd becomes "1". SD [0:31] is the input of the SBus, and the TA / ACK generator repeatedly drives the ACK [2: 0] * to the SBus after the access time of the SRAM to terminate the transmission. A twentieth step of completing interrupt service routine 2; 상기 과정의 결과 SBus는 읽어가야 할 메시지가 있는 RX 영역의 시작 어드레스와 오프셋을 얻는 제 21 단계와;As a result of the above process, SBus may include: a twenty-first step of obtaining a start address and an offset of an RX area in which a message to be read is located; SBus는 RX 영역의 주어진 시작 어드레스로부터 오프셋을 더한 어드레스까지 상기 SBus가 SEL*, AS*, SIZ[2:0], 어드레스(SA[0:27]), 데이터(SD{0:31])을 드라이브하고, Rd가 "1"이 되어 읽기 전송이 되고, SD[0:31]는 SBus의 입력이 되는 것에서부터 TA/ACK 발생기는 상기 SRAM의 어세스 시간 후에 SBus로 ACK[2:0]*를 드라이브하여 전송을 종료하는 것까지를 반복하여 메시지를 읽고 해당 플래그를 "0"으로 클리어하는 제 22 단계와;SBus stores the SEL *, AS *, SIZ [2: 0], address (SA [0:27]), and data (SD {0:31]) from the given start address of the RX area to the address plus the offset. Drive, Rd becomes " 1 " for read transmission, and SD [0:31] becomes SBus input, so the TA / ACK generator sends ACK [2: 0] * to the SBus after the access time of the SRAM. A twenty-second step of repeatedly reading the message and clearing the corresponding flag to " 0 " 상기 MPC860이 DPRAM의 RX 영역의 플래그 검사에서 플래그가 "0"인 부분이 없으면, MPC860은 벡터 레지스터를 어세스하여 SBus로 RX_FULL 인터럽트를 요구할 준비를 하는 23 단계와;Step 23, if the MPC860 does not have a portion where the flag is "0" in the flag check of the RX region of DPRAM, the MPC860 accesses the vector register and prepares to request an RX_FULL interrupt to the SBus; MPC860이 CS6*, WE[3:0]*, MA[31:0](어드레스), MD[31:0](데이터)을 드라이브하여 벡터 레지스터에 RX_FULL 인터럽트를 쓴 후, 상기 WE[3:0]*를 드라이브시켜 쓰기 전송으로 하고, MD[31:0]는 MPC860의 출력으로 하는 제 24 단계와;The MPC860 drives CS6 * , WE [3: 0] * , MA [31: 0] (address), MD [31: 0] (data) to write an RX_FULL interrupt to the vector register, and then sends the WE [3: 0 A twenty-fourth step of driving] * as write transfer, and MD [31: 0] as the output of the MPC860; 상기 벡터 레지스터는 SBus로 SIRQ4*를 드라이브하여 RX_FULL에 대한 인터럽트를 요구한 후 인터럽트를 접수하고, 벡터 레지스터의 인터럽트 벡터를 읽는 동작의 인터럽트 서비스 루틴 1을 시작할 준비를 하는 제 25 단계와;The vector register drives SIRQ4 * with SBus, requests an interrupt for RX_FULL, receives an interrupt, and prepares to start an interrupt service routine 1 for reading an interrupt vector of the vector register; 상기 SBus가 SEL*, AS*, SIZ[2:0], 어드레스(SA[0:27]), 데이터(SD[0:31])를 드라이브하고, Rd가 "1"이 되어 읽기 전송이 되고, SD[0:31]은 SBus의 입력이 되는 것에서부터 상기 SBus가 벡터 레지스터를 클리어하여 인터럽트 서비스 루틴 1을 종료하는 것까지의 과정으로 읽은 인터럽트 벡터의 소스가 RX_FULL임을 확인하는 제 26 단계와;The SBus drives SEL *, AS *, SIZ [2: 0], address SA [0:27], data SD [0:31], and Rd becomes "1" for read transfer. SD [0:31] is a twenty-sixth step of confirming that the source of the interrupt vector read from the input of the SBus to the end of the interrupt service routine 1 by the SBus clearing the vector register is RX_FULL; 인터럽트 벡터의 소스가 RX_FULL임을 확인한 후 메시지 읽기를 빨리 수행하여 DPRAM의 RX 영역의 해당 플래그를 "0"으로 클리어한 후 상기 MPC860이 DPRAM의 RX 영역의 플래그 검사로 돌아가는 제 27 단계로 이루어지는 것을 특징으로 하는 측정가능 프로세서 구조 계열의 에스버스와 엠피시860의 통신장치 구현방법.After confirming that the source of the interrupt vector is RX_FULL, the message is read quickly to clear the corresponding flag in the RX area of DPRAM to "0", and then the MPC860 returns to the flag check of the RX area of the DPRAM. A method of realizing a communication device of an ES 860 and an MC 860 of a measurable processor structure series.
KR1019970059541A 1997-11-12 1997-11-12 Implementation method of communication device of SB and MP860 of measurable processor architecture KR19990039436A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970059541A KR19990039436A (en) 1997-11-12 1997-11-12 Implementation method of communication device of SB and MP860 of measurable processor architecture

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970059541A KR19990039436A (en) 1997-11-12 1997-11-12 Implementation method of communication device of SB and MP860 of measurable processor architecture

Publications (1)

Publication Number Publication Date
KR19990039436A true KR19990039436A (en) 1999-06-05

Family

ID=66087086

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970059541A KR19990039436A (en) 1997-11-12 1997-11-12 Implementation method of communication device of SB and MP860 of measurable processor architecture

Country Status (1)

Country Link
KR (1) KR19990039436A (en)

Similar Documents

Publication Publication Date Title
US4779190A (en) Communication bus interface
US6766386B2 (en) Method and interface for improved efficiency in performing bus-to-bus read data transfers
US5287528A (en) IEEE 488 interface for message handling method
JPH09321827A (en) Equipment interfacing peripheral equipment with computer network
US4949246A (en) Adapter for transmission of data words of different lengths
US6101553A (en) Communication network end station and adaptor card therefor eliminating on-board storage of operating control code in adaptor card
CA2289192C (en) Communication dma device
US6463483B1 (en) Low latency input-output interface
KR19990039436A (en) Implementation method of communication device of SB and MP860 of measurable processor architecture
KR0150755B1 (en) Data transmission interfacing apparatus of s-bus and 68030-bus of sparc series by using dpram
KR19990055450A (en) Interface Units for Processors Using Dual-Port Memory
JPH08221355A (en) Multiprocessor system
EP0134115A2 (en) Asynchronous buffered communications interface
AU611288B2 (en) Method and apparatus for selectively posting write cycles using the 82385 cache controller
KR0143933B1 (en) Interface control method and apparatus for bilateral communication between host and peripheral
EP0171940A1 (en) A direct memory access device and a method of using the device in a data transfer system
JPH0115100B2 (en)
KR100346268B1 (en) Data bus control system
KR19990038069U (en) Memory-variable DM controller
JPH05300198A (en) Communication data counting device
JPH07281997A (en) Data transfer system
JPH0392071A (en) Facsimile response equipment
JPH02277159A (en) Information transfer system
JPH02244369A (en) Inter-firmware communication system
JPH05197654A (en) Communication control system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application