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 PDFInfo
- 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
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
본 발명은 이중 포트램(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.
도 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)
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) |
-
1997
- 1997-11-12 KR KR1019970059541A patent/KR19990039436A/en not_active Application Discontinuation
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 |