KR100298287B1 - Apparatus and Method of Managing Messages in a System Bus - Google Patents

Apparatus and Method of Managing Messages in a System Bus Download PDF

Info

Publication number
KR100298287B1
KR100298287B1 KR1019990028550A KR19990028550A KR100298287B1 KR 100298287 B1 KR100298287 B1 KR 100298287B1 KR 1019990028550 A KR1019990028550 A KR 1019990028550A KR 19990028550 A KR19990028550 A KR 19990028550A KR 100298287 B1 KR100298287 B1 KR 100298287B1
Authority
KR
South Korea
Prior art keywords
transmission
message
value
pointer
input
Prior art date
Application number
KR1019990028550A
Other languages
Korean (ko)
Other versions
KR20010009933A (en
Inventor
이희태
Original Assignee
서평원
엘지정보통신주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서평원, 엘지정보통신주식회사 filed Critical 서평원
Priority to KR1019990028550A priority Critical patent/KR100298287B1/en
Publication of KR20010009933A publication Critical patent/KR20010009933A/en
Application granted granted Critical
Publication of KR100298287B1 publication Critical patent/KR100298287B1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40006Architecture of a communication node
    • H04L12/40013Details regarding a bus controller
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40169Flexible bus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명은 시스템 버스에서 메시지 처리 장치 및 방법에 관한 것으로, 특히 시분할 방식을 시스템 버스에 적용시켜 동일한 버스 구조에 서로 다른 전송 속도를 가지는 버스가 접속 가능하도록 한 시스템 버스에서 메시지 처리 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for processing a message on a system bus, and more particularly, to an apparatus and method for processing a message on a system bus in which a time division scheme is applied to the system bus so that buses having different transmission rates can be connected to the same bus structure. will be.

본 발명에 의한 장치는 다른 보드와 메시지를 송수신하는 버퍼부와; 송신 가능한 최대 메시지의 크기로 구성된 버퍼 단위로 세분화되어 있는 수신 버퍼 메모리와 송신 버퍼 메모리를 구비해 수신 메시지와 송신 메시지를 각각 저장하는 메모리부와; 상기 버퍼부를 통해 유효 수신 메시지의 입력을 확인해 수신 입출력 포인터의 값에 따라 상기 메모리부에 기록하였다가 판독하고 송신 메시지를 송신 입출력 포인터의 값에 따라 상기 메모리부에 기록하였다가 판독해 상기 버퍼부로 출력하는 버스 로직부를 포함하여 이루어지며, 본 발명에 의한 방법은 입력 유효 셀 데이터를 수신 입력 포인터의 값에 대응하는 메모리 번지에 수신 메시지로 저장하는 과정과; 상기 수신 메시지를 모두 저장한 경우에 상기 수신 입력 포인터의 값을 증가시키는 과정과; 메모리에 저장되어 있는 수신 메시지를 확인해서 판독하는 과정과; 상기 수신 메시지를 모두 판독한 경우에 수신 출력 포인터의 값을 증가시키는 과정과; 송신할 메시지의 목적 번지 영역을 판독해 어떤 셀프에 송신할 메시지인지를 분석하는 과정과; 상기 셀프에 대응하는 송신 서비스 큐에 송신 입력 포인터의 값을 기록하는 과정과; 상기 송신 메시지를 상기 송신 입력 포인터의 값에 대응하는 메모리 번지에 저장하는 과정과; 상기 송신 메시지를 모두 저장한 경우에 상기 송신 입력 포인터의 값을 증가시키는 과정과; 상기 셀프에 할당된 송수신 인에이블 클럭 신호에 따라 상기 송신 서비스 큐에 기록된 송신 입력 포인터의 값을 이용하여 상기 송신 메시지를 판독해 송신하는 과정과; 상기 송신 메시지를 모두 송신한 경우에 송신 출력 포인터의 값을 증가시키는 과정을 포함하여 이루어진다.An apparatus according to the present invention includes a buffer unit for transmitting and receiving a message with another board; A memory unit having a reception buffer memory and a transmission buffer memory which are subdivided into a buffer unit composed of a maximum message size that can be transmitted, and which store received messages and transmitted messages, respectively; The input of the valid reception message is confirmed through the buffer unit, and the data is written to the memory unit according to the value of the reception input / output pointer, and the transmission message is written to the memory unit according to the value of the transmission input / output pointer, and then read and output to the buffer unit. And a bus logic unit configured to store input valid cell data in a memory address corresponding to a value of a received input pointer as a received message; Increasing the value of the received input pointer when all of the received messages have been stored; Checking and reading a received message stored in a memory; Increasing a value of a reception output pointer when all of the received messages are read; Reading the destination address area of the message to be transmitted and analyzing which self is the message to be sent; Recording a value of a transmission input pointer in a transmission service queue corresponding to the self; Storing the transmission message in a memory address corresponding to the value of the transmission input pointer; Increasing the value of the transmission input pointer when all the transmission messages have been stored; Reading and transmitting the transmission message using a value of a transmission input pointer recorded in the transmission service queue according to the transmission and reception enable clock signal assigned to the self; And increasing the value of the transmission output pointer when all the transmission messages have been transmitted.

Description

시스템 버스에서 메시지 처리 장치 및 방법{Apparatus and Method of Managing Messages in a System Bus}Apparatus and Method of Managing Messages in a System Bus

본 발명은 시스템 버스에서 메시지 처리 장치 및 방법에 관한 것으로, 특히 시분할 방식을 시스템 버스에 적용시켜 동일한 버스 구조에 서로 다른 전송 속도를 가지는 버스가 접속 가능하도록 한 시스템 버스에서 메시지 처리 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for processing a message on a system bus, and more particularly, to an apparatus and method for processing a message on a system bus in which a time division scheme is applied to the system bus so that buses having different transmission rates can be connected to the same bus structure. will be.

종래의 시분할 방식으로 구성된 시스템 버스는 메시지를 전송함에 있어 시분할 방식을 사용하나 기본적으로 하드웨어(Hardware )적인 타이밍(Timing)에 너무 의존적인 형태로 구성되어 있다.A conventional system bus configured in a time division scheme uses a time division scheme in transmitting a message, but is basically configured in a form that is too dependent on hardware timing.

도 1은 기존에 구성된 시분할 구조의 메시지 처리 과정을 설명하기 위한 도면인데, 해당 시스템은 주 제어 보드(Main Control Board; 10)와 다수 개의 로컬보드(Local Board; 20, 30)로 이루어져 있으며, 해당 주 제어 보드(10)에는 LMC(Local Message Controller; 11)와 MMC(Main Message Controller; 12)를 포함하고 해당 로컬 보드(20, 30)는 각각 LMC(21, 22)를 포함하여 이루어져 있다. 여기서, 해당 각 LMC(21, 31)는 하나의 셀프에 실장된 최대 16 슬롯(Slot)에 실장되어진 각 로컬 보드(20, 30)에서 전송되는 메시지를 각각 처리하는 구조로 형성되어 있으며, 해당 각 LMC(21, 31)는 해당 MMC(12)에 연결되어 있어 해당 메시지를 주 제어 보드(10)에 전송하는 구조로 형성되어 있다. 이때, 사용된 방식은 시스템에 사용되는 교환기에서 주로 사용되는 8(ms) 기준의 프로세서(Processor)를 기준으로 한 시스템에 기본을 두고 설계되어진다.1 is a view for explaining a message processing process of the time-division structure configured in the prior, the system is composed of a main control board (Main Control Board; 10) and a plurality of Local Board (20, 30), The main control board 10 includes an LMC (Local Message Controller) 11 and an MMC (Main Message Controller) 12, and the corresponding local boards 20 and 30 include LMCs 21 and 22, respectively. Here, each of the LMC (21, 31) is formed in a structure that processes the messages transmitted from each local board (20, 30) mounted in a maximum of 16 slots (mount) mounted in one self, respectively The LMCs 21 and 31 are connected to the corresponding MMCs 12 and are configured to transmit the corresponding messages to the main control board 10. At this time, the method used is designed based on the system based on the processor of 8 (ms) standard that is mainly used in the exchange used in the system.

상술한 바와 같은 구성의 동작을 살펴보면, 각 LMC(21, 31)에는 도 2의 타이밍도에 도시된 바와 같이 2(ms)의 시간 동안에 자신의 셀프에 해당되는 로컬 보드(20, 30)에서 전송되는 메시지를 송수신하는 방식으로 동작을 수행하게 된다. 여기서, 해당 '/TREC'는 송수신 인에이블 클럭 신호를 나타낸다.Looking at the operation of the configuration as described above, each LMC (21, 31) is transmitted from the local board (20, 30) corresponding to its self for a time of 2 (ms) as shown in the timing diagram of FIG. The operation is performed by sending and receiving a message. Here, the corresponding '/ TREC' indicates a transmit / receive enable clock signal.

이 때, 상기 LMC(21, 31)는 분산 제어 방식을 사용하는데, 상기 LMC(21, 31) 자체에서 수행할 수 있는 메시지는 처리되어 각 로컬 보드(20, 30)에 전송되고 주 제어 보드(10)에 필요한 정보는 재가공되어 MMC(12)로 전송된다.At this time, the LMC (21, 31) uses a distributed control method, a message that can be performed in the LMC (21, 31) itself is processed and transmitted to each local board (20, 30) and the main control board ( The information necessary for 10) is reprocessed and sent to the MMC 12.

그리고, 상기 LMC(21, 31)는 자신에 할당된 2(ms)의 시간 동안에 각 로컬 보드(20, 30)에 최대 16 슬롯을 시분할하여 할당하고 2(ms)의 시간 동안에 하드웨어적으로 메시지를 처리한 후에 나머지 6(ms)의 시간 동안에 메시지를 분석하는 방법으로 운용하는데, 이때 해당 방식으로 수행하기 위해서는 모든 운용 프로그램이8(ms) 주기의 인터럽트 방식으로 운용되어야 한다.The LMC 21 and 31 time-division allocates up to 16 slots to each of the local boards 20 and 30 during the 2 (ms) time allocated to the LMCs 21 and 31, and transmits a message in hardware during the 2 (ms) time. After processing, it operates by analyzing message for the remaining 6 (ms) time. At this time, all the operating programs should be operated by interrupt method of 8 (ms) cycle in order to execute in this way.

또한, 도 3은 상기 LMC(21, 31)에 연결된 최대 16 슬롯에 시분할 형태로 시간을 할당한 것을 나타낸 도면이다. 여기서, 해당 'Sx'는 슬롯 번호를 나타낸 것이다. 즉, 각 슬롯에 실장된 로컬 보드(20, 30)는 'Sx' 구간의 시간 동안만 메시지 전송용 버스를 점유하는 형태로 해당 버스를 운용하게 된다.3 is a diagram illustrating allocating time in the form of time division to up to 16 slots connected to the LMCs 21 and 31. Here, 'Sx' represents a slot number. That is, the local boards 20 and 30 mounted in each slot operate the bus in the form of occupying the bus for message transmission only during the time of 'Sx' period.

그런데, 상술한 방식은 시스템이 확장되는 경우에 메시지 버스를 제어하기 위하여 항상 셀프마다 LMC를 구성해야 하고 주 제어 보드 측에서는 항상 LMC와의 메시지 전송을 위하여 MMC를 항상 사용해야 하므로, 고속 프로세서가 적용되는 현재의 시스템에서 자원을 효율적으로 사용할 수 없게 하는 원인이 된다. 또한, 프로세서는 메시지를 처리하기 위하여 항상 주기적으로 인터럽트를 발생시켜 해당 메시지를 처리해야 하며, LMC에 저장할 수 있는 메시지 버퍼는 항상 8(ms) 단위로 새로운 메시지가 입력될 수 있는 구조로 되어 있어 실제로 전송된 메시지가 없는 경우에도 해당 메시지 버퍼를 판독해서 처리해야 하는 단점을 가지고 있다.However, in the above-described method, the LMC must be configured at every self in order to control the message bus when the system is expanded, and the MMC must always be used for message transmission with the LMC on the main control board side. This causes the system to be unable to use resources efficiently. In addition, the processor should always generate an interrupt periodically to process the message and process the message. The message buffer that can be stored in the LMC is always structured so that a new message can be input every 8 (ms). Even if there is no message sent, it has a disadvantage of reading and processing the message buffer.

그리고, 다른 문제점으로 기존의 로컬 보드와는 다른 서비스가 시스템에 도입되는 경우, 상술한 방식으로는 메시지의 전송률에서 문제를 일으킬 수 있다. 즉, 현재 사용되는 시분할 방식은 속도를 향상시킬 수 있는 방법이 제공되어야 하나, 기존의 버퍼 형태로는 메시지의 전송률을 변화시켜 줄 방법이 없는 단점이 있었다.In addition, when a service different from the existing local board is introduced into the system due to another problem, the above-described method may cause a problem in the message transmission rate. That is, the current time division method should provide a method for improving the speed, but there is a disadvantage that there is no method for changing the transmission rate of the message in the existing buffer form.

전술한 바와 같은 문제점 내지 단점을 해결하기 위한 것으로, 본 발명은 저속의 메시지를 서로 전송하는 시스템 버스 구조에 있어서, 충돌 제어 방식을 적용하지 않고 시분할 제어 방식의 버스 구조를 개선해 시스템 버스에 적용시켜 적은 메시지 크기를 갖는 시스템 내의 제어 블록 간의 메시지 전송에 한정된 자원을 효율적으로 제어할 수 있도록 하는 시스템 버스에서 메시지 처리 장치 및 방법을 제공하는데, 그 목적이 있다.In order to solve the above problems and disadvantages, the present invention provides a system bus structure in which low-speed messages are transmitted to each other. SUMMARY OF THE INVENTION An object of the present invention is to provide an apparatus and method for processing a message in a system bus that enables efficient control of resources limited to message transmission between control blocks in a system having a message size.

또한, 본 발명은 버스에 접속된 모듈이 다수이며 전송하는 메시지의 양은 많지 않지만 접속된 모듈이 다수이고 사용 빈도가 빈번한 경우에 적합한 시스템 버스에서 메시지 처리 장치 및 방법을 제공하는데, 그 목적이 있다.It is also an object of the present invention to provide an apparatus and method for processing a message on a system bus suitable for a case where a large number of modules are connected to the bus and a large amount of messages are transmitted, but a large number of connected modules are frequently used.

다르게는, 본 발명은 동일한 버스 구조에 서로 다른 전송 속도를 가지는 버스가 접속 가능하도록 구성함으로써 기존의 버스를 사용하는 보드와 새로운 서비스를 제공하는 보드를 동시에 하나의 버스로 구성할 수 있도록 하는 시스템 버스에서 메시지 처리 장치 및 방법을 제공하는데, 그 목적이 있다.Alternatively, the present invention provides a system bus that allows a bus having a different transmission rate to be connected to the same bus structure so that a board using an existing bus and a board providing a new service can be simultaneously configured as a single bus. In the present invention, there is provided an apparatus and a method for processing a message.

도 1은 기존에 구성된 시분할 구조의 메시지 처리 과정을 설명하기 위한 구성 블록도.1 is a block diagram illustrating a message processing process of a time division structure previously configured.

도 2는 도 1에 있어 LMC(Local Message Controller)의 송수신 인에이블 클럭 신호에 대한 타이밍도.FIG. 2 is a timing diagram of a transmit and receive enable clock signal of a local message controller (LMC) in FIG. 1; FIG.

도 3은 도 1에 있어 LMC에 연결된 최대 16 슬롯에 시분할 형태로 시간을 할당한 것을 나타낸 도면.FIG. 3 is a diagram illustrating allocating time in the form of time division to up to 16 slots connected to the LMC in FIG. 1; FIG.

도 4는 본 발명의 실시예에 따른 시스템 버스에서 메시지 처리 장치를 나타낸 구성 블록도.4 is a block diagram illustrating a message processing apparatus in a system bus according to an embodiment of the present invention.

도 5는 도 4에 있어 메모리부의 구성을 나타낸 도면.FIG. 5 is a diagram showing the configuration of a memory unit in FIG. 4; FIG.

도 6은 도 4에 있어 'Sx'의 시간 동안에 할당되는 상세한 기능을 설명하기 위한 도면.FIG. 6 is a view for explaining a detailed function allocated during the time of 'Sx' in FIG.

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

40 : 버스 로직부 41 : 업 인터페이스(Up Interface)40: bus logic section 41: Up Interface

42 :제어 레지스터(Control Registers)42: Control Registers

43 : 메모리 제어 블록 44 : 메시지 수신 제어 블록43: memory control block 44: message receiving control block

45 : 메시지 송신 제어 블록 46 : 송신 서비스 큐45: message transmission control block 46: transmission service queue

47 : 하드웨어 타이밍 발생 블록 50 : 메모리부47: hardware timing block 50: memory section

60 : 버퍼부60: buffer part

상술한 바와 같은 목적을 달성하기 위한 본 발명의 시스템 버스에서 메시지 처리 장치는 다른 보드와 메시지를 송수신하는 버퍼부와; 송신 가능한 최대 메시지의 크기로 구성된 버퍼 단위로 세분화되어 있는 수신 버퍼 메모리와 송신 버퍼 메모리를 구비해 수신 메시지와 송신 메시지를 각각 저장하는 메모리부와; 상기 버퍼부를 통해 유효 수신 메시지의 입력을 확인해 수신 입출력 포인터의 값에 따라 상기 메모리부에 기록하였다가 판독하고 송신 메시지를 송신 입출력 포인터의 값에 따라 상기 메모리부에 기록하였다가 판독해 상기 버퍼부로 출력하는 버스 로직부를 포함하여 이루어진 것을 특징으로 한다. 여기서, 상기 포인터는 상기 메시지의 기록 시에 시작 번지를 지정하는데 사용되며, 상기 수신 입력 포인터는 기록한 유효 수신 메시지의 개수를 나타내고 상기 수신 출력 포인터는 판독된 수신 메시지의 개수를 나타내고 상기 송신 입력 포인터는 기록한 송신 메시지의 개수이고 상기 송신 출력 포인터는 판독된 송신 메시지의 개수를 나타낸 것을 특징으로 하며, 상기 버스 로직부는 CPU와 인터페이스하는 업 인터페이스와; 수신 상태, 송신 상태, 수신 입출력 포인터 및 송신 입출력 포인터를 저장하는 영역과, 수신 버퍼와, 송신 버퍼를 구비하여 상기 업 인터페이스를 통해 메시지를 송수신하는 제어 레지스터와; 상기 버퍼부를 통해 유효한 셀 데이터의 입력을 확인하여 해당 입력 유효 셀 데이터만을 인가하는 메시지 수신 제어 블록과; 각 셀프에 할당되어지는 송수신 인에이블 클럭 신호를 생성하는 하드웨어 타이밍 발생 블록과; 송신 메시지가 기록되어 있는 메모리 번지의 송신 입력 포인터 값을 저장하는 송신 서비스 큐와; 상기 하드웨어 타이밍 발생 블록에서 생성한 송수신 인에이블 클럭 신호에 따라 상기 송신 서비스 큐에 저장된 송신 입력 포인터의 값을 이용해 송신 메시지를 상기 버퍼부로 인가하는 메시지 송신 제어 블록과; 상기 메시지 수신 제어 블록과 메시지 송신 제어 블록의 제어에 따라 상기 제어 레지스터, 송신 서비스 큐 및 메모리부의 메모리 동작을 제어하는 메모리 제어 블록을 포함하여 이루어진 것을 특징으로 한다.Message processing apparatus in the system bus of the present invention for achieving the above object is a buffer unit for transmitting and receiving messages with other boards; A memory unit having a reception buffer memory and a transmission buffer memory which are subdivided into a buffer unit composed of a maximum message size that can be transmitted, and storing the received message and the transmitted message, respectively; The input of the valid reception message is confirmed through the buffer unit, and the data is written to the memory unit according to the value of the reception input / output pointer, and the transmission message is written to the memory unit according to the value of the transmission input / output pointer, and then read and output to the buffer unit. Characterized in that it comprises a bus logic unit. Here, the pointer is used to designate a start address when the message is recorded, the reception input pointer indicates the number of valid received messages recorded, and the reception output pointer indicates the number of read received messages, and the transmission input pointer is The number of recorded transmission messages, wherein the transmission output pointer indicates the number of read transmission messages, wherein the bus logic unit comprises: an up interface for interfacing with a CPU; A control register having a reception state, a transmission state, a reception input / output pointer and a transmission input / output pointer, a reception buffer, and a transmission buffer to transmit and receive a message through the up interface; A message reception control block which checks input of valid cell data through the buffer unit and applies only input valid cell data; A hardware timing generation block for generating a transmit / receive enable clock signal assigned to each self; A transmission service queue that stores a transmission input pointer value of a memory address where a transmission message is recorded; A message transmission control block for applying a transmission message to the buffer unit using a value of a transmission input pointer stored in the transmission service queue according to the transmission / reception enable clock signal generated by the hardware timing generation block; And a memory control block for controlling memory operations of the control register, the transmission service queue and the memory unit according to the control of the message reception control block and the message transmission control block.

한편, 상술한 바와 같은 목적을 달성하기 위한 본 발명의 시스템 버스에서메시지 처리 방법은 입력 유효 셀 데이터를 수신 입력 포인터의 값에 대응하는 메모리 번지에 수신 메시지로 저장하는 과정과; 상기 수신 메시지를 모두 저장한 경우에 상기 수신 입력 포인터의 값을 증가시키는 과정과; 메모리에 저장되어 있는 수신 메시지를 확인해서 판독하는 과정과; 상기 수신 메시지를 모두 판독한 경우에 수신 출력 포인터의 값을 증가시키는 과정과; 송신할 메시지의 목적 번지 영역을 판독해 어떤 셀프에 송신할 메시지인지를 분석하는 과정과; 상기 셀프에 대응하는 송신 서비스 큐에 송신 입력 포인터의 값을 기록하는 과정과; 상기 송신 메시지를 상기 송신 입력 포인터의 값에 대응하는 메모리 번지에 저장하는 과정과; 상기 송신 메시지를 모두 저장한 경우에 상기 송신 입력 포인터의 값을 증가시키는 과정과; 상기 셀프에 할당된 송수신 인에이블 클럭 신호에 따라 상기 송신 서비스 큐에 기록된 송신 입력 포인터의 값을 이용하여 상기 송신 메시지를 판독해 송신하는 과정과; 상기 송신 메시지를 모두 송신한 경우에 송신 출력 포인터의 값을 증가시키는 과정을 포함하여 이루어진 것을 특징으로 한다. 여기서, 상기 메모리에 저장되어 있는 수신 메시지를 확인해서 판독하는 과정은 주기적으로 수신 입력 포인터의 값과 수신 출력 포인터의 값을 판독하는 단계와; 상기 수신 입력 포인터의 값과 수신 출력 포인터의 값을 비교하는 단계와; 상기 수신 입력 포인터 값과 수신 출력 포인터 값의 차가 있는 경우에 인터럽트를 발생시켜 상기 수신 메시지의 판독을 요청하는 단계와; 상기 요청에 따라 상기 메모리에 저장되어 있는 수신 메시지를 판독하는 단계를 포함하여 이루어진 것을 특징으로 하며, 상기 메시지의 헤더에서 상기 목적 번지로 사용되는 영역은 4 비트이고 나머지의 비트는 다른 단위로 송신하는 경우의 메시지들을 구별하는데 사용하는 것을 특징으로 한다.On the other hand, the message processing method in the system bus of the present invention for achieving the above object comprises the steps of storing the input valid cell data as a received message in a memory address corresponding to the value of the received input pointer; Increasing the value of the received input pointer when all of the received messages have been stored; Checking and reading a received message stored in a memory; Increasing a value of a reception output pointer when all of the received messages are read; Reading the destination address area of the message to be transmitted and analyzing which self is the message to be sent; Recording a value of a transmission input pointer in a transmission service queue corresponding to the self; Storing the transmission message in a memory address corresponding to the value of the transmission input pointer; Increasing the value of the transmission input pointer when all the transmission messages have been stored; Reading and transmitting the transmission message using a value of a transmission input pointer recorded in the transmission service queue according to the transmission and reception enable clock signal assigned to the self; And increasing the value of the transmission output pointer when all the transmission messages have been transmitted. The checking and reading of the received message stored in the memory may include periodically reading a value of a reception input pointer and a value of the reception output pointer; Comparing a value of the receive input pointer with a value of the receive output pointer; Generating an interrupt and requesting reading of the received message when there is a difference between the received input pointer value and the received output pointer value; And reading the received message stored in the memory according to the request, wherein the area used as the destination address in the header of the message is 4 bits and the remaining bits are transmitted in different units. It is used to distinguish the messages of the case.

다르게는, 상술한 바와 같은 목적을 달성하기 위한 본 발명의 시스템 버스에서 메시지 처리 방법은 새로운 유효 셀 데이터의 입력 시에 상기 증가된 수신 입력 포인터의 값에 해당하는 메모리 번지에 저장하는 과정과; 새로운 송신할 메시지가 있는 경우에 상기 증가된 송신 입력 포인터의 값에 해당하는 메모리 번지에 저장하는 과정을 더 포함하여 이루어진 것을 특징으로 한다.Alternatively, the message processing method in the system bus of the present invention for achieving the above object comprises the steps of storing at the memory address corresponding to the value of the increased received input pointer upon input of new valid cell data; And storing a memory address corresponding to the value of the increased transmission input pointer when there is a new message to be transmitted.

기본적으로 메시지 전송률이 낮은 로컬 보드의 제어에 사용되는 시분할 방식은 기본적으로 간단한 방식으로 구성할 수 있는데, 본 발명은 해당 시분할 방식의 버스 구조를 개선해 시스템 버스에 적용시켜 실제로 전송된 메시지가 있는 경우에만 프로세서가 메시지를 판독해서 처리하게 하고 주기적으로 항상 메시지를 검색하는 것이 아니라 메시지가 입력되는 경우에만 인터럽트를 발생시켜서 내부에 구성된 버퍼에서 메시지를 판독하게 함으로써, 효율적으로 자원을 관리하도록 해 준다.Basically, the time division method used to control the local board having a low message transfer rate can be basically configured in a simple manner. The present invention improves the bus structure of the corresponding time division method and applies it to the system bus only when there are actually transmitted messages. Instead of having the processor read and process the message and periodically retrieve the message, it generates an interrupt only when the message is entered, allowing the message to be read from the internally configured buffer, allowing for efficient resource management.

또한, 본 발명은 LMC와 MMC로 이원화되어 처리되는 메시지 처리 루틴을 하나의 주제어부 프로세서에서 모두 처리하는 방식으로 사용하여 고속화되어 가는 프로세서의 장점을 최대한 이용하도록 재구성하며, 해당 내부 버퍼의 구성도 메모리를 큐(Queue) 방식으로 사용하여 형성한다. 이하, 본 발명의 실시예를 첨부한 도면을 참조하여 상세하게 설명하면 다음과 같다.In addition, the present invention uses a message processing routine that is dualized and processed by the LMC and MMC in a way that is processed in a single main control processor to reconfigure to take full advantage of the speed of the processor is accelerated, the configuration of the internal buffer memory Is formed using the Queue method. Hereinafter, an embodiment of the present invention will be described in detail with reference to the accompanying drawings.

본 발명의 실시예에 따른 시스템 버스에서 메시지 처리 장치는 도 4에 도시한 바와 같이, 버스 로직부(40)와, 메모리부(50)와, 버퍼부(60)를 포함하여 이루어진다. 기본적으로, 해당 버퍼부(60)를 통하여 로컬 보드와의 메시지 전송은 종래의 방식과 동일한 구조로 동작을 수행하도록 함으로서 종래에 구성된 시스템의 자원을 그대로 사용할 수 있도록 하나, 새로이 구성된 보드인 경우에는 가변적으로 전송 속도의 변화를 수용하는 방식으로 이루어진다. 즉, 하드웨어적으로 타이밍을 발생하는 방식은 종래의 방식과 동일하게 구성하므로 기존에 사용되는 로컬 보드는 동일하게 사용할 수 있는 구조를 가진다. 그리고, 송수신 인에이블 클럭 신호(/TREC0 ~ /TREC2)는 도 2에 도시된 송수신 인에이블 클럭 신호(/TREC3)와 동일한 의미를 가지나, 본 발명은 3 개의 셀프로 구성된 도 1의 시스템을 변형시킨 형태로 세 개의 송수신 인에이블 클럭 신호(/TREC0 ~ /TREC2)를 사용한다.As shown in FIG. 4, a message processing apparatus in a system bus according to an exemplary embodiment of the present invention includes a bus logic unit 40, a memory unit 50, and a buffer unit 60. Basically, the message is transmitted to the local board through the buffer unit 60 to perform the operation in the same structure as the conventional method, so that the resources of the conventionally configured system can be used as it is. This is done in a way that accommodates changes in transmission speed. That is, since the method of generating timing in hardware is configured in the same manner as the conventional method, the existing local board has the structure that can be used in the same way. The transmit / receive enable clock signals / TREC0 to / TREC2 have the same meaning as the transmit / receive enable clock signals / TREC3 shown in FIG. 2, but the present invention is a modification of the system of FIG. Three transmit and receive enable clock signals (/ TREC0 to / TREC2) are used.

상기 버스 로직부(40)는 상기 버퍼부(40)를 통해 유효 수신 메시지의 입력을 확인해 수신 입출력 포인터의 값에 따라 상기 메모리부(50)에 기록하였다가 판독하고 송신 메시지를 송신 입출력 포인터의 값에 따라 상기 메모리부(50)에 기록하였다가 판독해 상기 버퍼부(40)로 출력하는 역할을 수행하는데, 업 인터페이스(Up Interface; 41)와, 제어 레지스터(Control Registers; 42)와, 메모리 제어 블록(43)과, 메시지 수신 제어 블록(44)과, 메시지 송신 제어 블록(45)과, 다수 개의 송신 서비스 큐(46-1 ~ 46-3)와, 하드웨어 타이밍 발생 블록(47)을 포함하여 이루어진다. 여기서, 해당 업 인터페이스(41)는 CPU와 인터페이스의 역할을 수행한다. 그리고, 해당 제어 레지스터(42)는 수신 상태, 송신 상태, 수신 입출력 포인터 및 송신 입출력 포인터를 저장하는 영역과, 수신 버퍼와, 송신 버퍼를 구비하고있어 해당 메모리 제어 블록(43)의 제어에 따라 해당 업 인터페이스(41)를 통해 메시지를 송수신한다. 그리고, 해당 메모리 제어 블록(43)은 해당 메시지 수신 제어 블록(44)과 메시지 송신 제어 블록(45)의 입력 제어에 따라 해당 제어 레지스터(42), 송신 서비스 큐(46) 및 메모리부(50)의 메모리 동작을 제어하는데, 해당 메시지 수신 제어 블록(44)으로부터 입력되는 셀 데이터를 해당 제어 레지스터(42)의 수신 입력 포인터 값에 해당하는 상기 메모리부(50)의 메모리 번지에 저장하여 저장 완료 시에 해당 수신 입력 포인터 값을 하나 증가시켜 주고 해당 수신 메시지를 판독해 해당 제어 레지스터(42)의 수신 버퍼에 기록하여 판독 완료 시에 해당 수신 출력 포인터의 값을 하나 증가시켜 주며, 해당 제어 레지스터(42)의 송신 버퍼에 기록된 송신 메시지의 목적(Destination) 번지 영역을 판독해 어떤 셀프에 송신될 메시지인지를 분석하여 해당 셀프에 대응하는 송신 서비스 큐(46-1 ~ 46-3)에 송신 입력 포인터의 값을 기록하고 송신 메시지를 상기 메모리부(50)의 메모리 번지에 저장하여 저장 완료 시에 해당 송신 입력 포인터 값을 하나 증가시켜 주고 해당 송신 메시지를 판독해 해당 메시지 송신 제어 블록(45) 측으로 인가하여 판독 완료 시에 해당 송신 출력 포인터의 값을 하나 증가시켜 준다. 그리고, 해당 메시지 수신 제어 블록(44)은 상기 버퍼부(60)를 통해 유효한 셀 데이터의 입력을 확인하고 해당 입력 유효 셀 데이터를 해당 메모리 제어 블록(43)에 인가한다. 그리고, 해당 메시지 송신 제어 블록(45)은 해당 하드웨어 타이밍 발생 블록(47)에서 생성된 송수신 인에이블 클럭 신호(/TREC0 ~ /TREC2)에 따라 해당 송신 서비스 큐(46-1 ~ 46-3)에 저장된 송신 입력 포인터의 값을 이용하여 해당 메모리 제어 블록(43)에 송신 메시지의 전송을 요구하여 해당 송신 메시지를 인가받아 상기 버퍼부(60)를 통해 로컬 보드에 송신하도록 해 준다. 그리고, 해당 송신 서비스 큐(46-1 ~ 46-3)는 해당 메시지 송신 제어 블록(45)과 연관되어 있는데, 해당 메모리 제어 블록(43)으로부터 인가되는 송신 입력 포인터 값을 저장한다. 그리고, 해당 하드웨어 타이밍 발생 블록(47)은 각 셀프에 할당되어지는 송수신 인에이블 클럭 신호(/TREC0 ~ /TREC2)를 생성시켜 준다.The bus logic unit 40 checks the input of the valid reception message through the buffer unit 40, writes the data to the memory unit 50 according to the value of the reception input / output pointer, reads the value, and transmits the transmission message to the value of the transmission input / output pointer. The memory module 50 writes the data to the memory unit 50 and outputs the data to the buffer unit 40. The up interface 41, the control registers 42, and the memory control are controlled. A block 43, a message reception control block 44, a message transmission control block 45, a plurality of transmission service queues 46-1 to 46-3, and a hardware timing generation block 47 Is done. Here, the up interface 41 serves as an interface with the CPU. The control register 42 is provided with an area for storing a reception state, a transmission state, a reception input / output pointer, and a transmission input / output pointer, a reception buffer, and a transmission buffer, and according to the control of the memory control block 43, Messages are transmitted and received via the up interface 41. Then, the memory control block 43 is the control register 42, the transmission service queue 46 and the memory unit 50 in accordance with the input control of the message reception control block 44 and the message transmission control block 45. To control the operation of the memory, the cell data input from the message reception control block 44 is stored in the memory address of the memory unit 50 corresponding to the reception input pointer value of the control register 42 to complete the storage Increases the value of the corresponding reception input pointer by one, reads the corresponding reception message, writes it to the reception buffer of the control register 42, and increments the value of the corresponding reception output pointer by one upon completion of reading. Reads the destination address area of the transmission message recorded in the transmission buffer of the) and analyzes the message to be sent to which shelf. Records the value of the transmission input pointer in the bis queues 46-1 to 46-3, stores the transmission message in the memory address of the memory unit 50, and increases the corresponding transmission input pointer value by one upon completion of storage. The transmission message is read and applied to the message transmission control block 45 to increase the value of the transmission output pointer by one at the completion of reading. The message reception control block 44 checks the input of valid cell data through the buffer unit 60 and applies the input valid cell data to the memory control block 43. Then, the message transmission control block 45 enters the transmission service queues 46-1 to 46-3 according to the transmission / reception enable clock signals / TREC0 to / TREC2 generated by the hardware timing generation block 47. By using the value of the stored transmission input pointer, the memory control block 43 requests the transmission of the transmission message so that the transmission message is received and transmitted to the local board through the buffer unit 60. The transmission service queues 46-1 to 46-3 are associated with the message transmission control block 45, and store transmission transmission pointer values applied from the memory control block 43. The hardware timing generation block 47 generates the transmit / receive enable clock signals / TREC0 to / TREC2 assigned to each self.

상기 메모리부(50)는 도 5에 도시된 바와 같이, 수신 메시지를 저장하는 영역인 수신 버퍼 메모리와 송신 메시지를 저장하는 영역인 송신 버퍼 메모리로 크게 구별되어 이루어져 있다. 여기서, 해당 각각의 영역은 전송 가능한 최대 메시지의 크기(예로, 16(Byte))로 구성되는 버퍼 단위로 세분화되어 있는데, 즉 해당 수신 버퍼 메모리는 다수 개의 수신 버퍼를 구비하고 해당 송신 버퍼 메모리는 다수 개의 송신 버퍼를 구비하여 이루어져 있다. 그리고, 상기 버스 로직부(40) 내에 구비되어 있는 제어 레지스터(42)에 구성된 수신 입출력 포인터와 송신 입출력 포인터가 지정하는 영역은 각각의 버퍼의 시작 번지를 지정하는 형태로 메모리 구성을 가져가는데, 즉 내부적으로 16(Byte)의 메시지를 억세스하도록 이루어져 있다.As shown in FIG. 5, the memory unit 50 is largely divided into a reception buffer memory that is an area for storing a reception message and a transmission buffer memory that is an area for storing a transmission message. Here, each of the regions is subdivided into a buffer unit consisting of the maximum message size (e.g., 16 (Bytes)) that can be transmitted. That is, the corresponding receive buffer memory includes a plurality of receive buffers, and the corresponding transmit buffer memories It consists of two transmission buffers. The region designated by the receiving input / output pointer and the transmitting input / output pointer configured in the control register 42 provided in the bus logic section 40 takes a memory configuration in the form of designating the starting address of each buffer. Internally, 16 (Byte) messages are accessed.

상기 버퍼부(60)는 다른 로컬 보드와 셀 데이터를 송수신하는 역할을 수행한다.The buffer unit 60 transmits and receives cell data with another local board.

또한, 도 6은 셀프 내에 구성된 하나의 슬롯에 할당된 'Sx'의 시간 동안에 할당되는 상세한 기능을 설명하기 위한 도면인데, 주어진 시간을 메시지 송신과 메시지 수신에 각 시간을 할당하여 이루어진 것을 알 수 있다.6 is a view for explaining a detailed function allocated during the time of 'Sx' allocated to one slot configured in the shelf, it can be seen that the given time is made by allocating each time for message transmission and message reception. .

상술한 바와 같이 구성된 본 발명의 실시예에 따른 시스템 버스에서 메시지 처리 장치의 동작을 설명하면 다음과 같다.The operation of the message processing apparatus in the system bus according to the embodiment of the present invention configured as described above is as follows.

먼저, 버스 로직부(40) 내에 구비되어 있는 제어 레지스터(42)에 구성된 수신 입출력 포인터와 송신 입출력 포인터는 하드웨어와 소프트웨어가 각각의 해당되는 레지스터를 관할하는 형태로 운용되어진다. 그러면, 해당 각 포인터가 의미하는 것을 아래와 같이 살펴본다.First, the reception I / O pointer and the transmission I / O pointer configured in the control register 42 provided in the bus logic section 40 are operated in a form in which hardware and software manage each corresponding register. Then, look at what each pointer means as follows.

해당 입력 포인터로 정의된 것은 메시지를 송신하고 수신하는 측에서 버퍼에 들어온 메시지를 표시하는 것이다. 즉, 수신 입력 포인터의 경우에는 현재 블록에 실제로 수신된 유효한 메시지가 있음을 나타낸 것이고 수신 출력 포인터의 경우에는 현재의 메모리 버퍼에 저장된 수신 메시지를 프로그램이 판독해 간 개수를 표시하는 것이다. 마찬가지로, 송신하는 측에서 송신할 메시지가 있는 경우에는 우선적으로 메모리에 저장하는데, 송신 입력 포인터가 의미하는 것은 메시지를 송신하기 위하여 해당 메모리에 기록한 송신 메시지의 개수이고 이것을 하드웨어적으로 실제로 송신한 경우의 메시지 개수를 표시하는 것이 송신 출력 포인터이다.Defined by the corresponding input pointer, it marks the message that has entered the buffer on both the sending and receiving side of the message. In other words, in the case of the reception input pointer, it indicates that there is a valid message actually received in the current block. In the case of the reception output pointer, the number of reception messages stored in the current memory buffer is indicated by the program. Similarly, when there is a message to be sent by the sender, it is stored first in the memory. The meaning of the transmission input pointer is the number of transmission messages written to the memory to transmit the message, The transmission output pointer is the number of messages.

그리고, 해당 포인터는 메시지를 저장하는 버퍼에 구성된 버퍼의 시작 번지를 지정하는데 사용되는 것으로, 각 버퍼는 전송 가능한 최대 메시지의 크기로 지정되어진다.The pointer is used to designate the start address of the buffer configured in the buffer that stores the message, and each buffer is designated as the maximum message size that can be transmitted.

이에, 상기 버스 로직부(40) 내에 구비되어 있는 메시지 수신 제어 블록(44)이 버퍼부(60)를 통해 도 5에 도시된 수신 구간(Rx)의 시간 동안에 유효한 셀 데이터의 입력을 감지하게 되면, 해당 메시지 수신 제어 블록(44)은 해당 입력된 유효 셀 데이터를 상기 버스 로직부(40) 내에 구비되어 있는 메모리 제어 블록(43)에 인가한다.Accordingly, when the message reception control block 44 provided in the bus logic unit 40 senses an input of valid cell data during the time of the reception section Rx shown in FIG. 5 through the buffer unit 60, The message receiving control block 44 applies the input valid cell data to the memory control block 43 provided in the bus logic unit 40.

그리고, 상기 메모리 제어 블록(43)에서는 상기 메시지 수신 제어 블록(44)으로부터 유효 셀 데이터를 인가받아 상기 버스 로직부(40) 내에 구비되어 있는 제어 레지스터(42)의 현재 수신 입력 포인터에 기록되어 있는 값을 판독하며, 해당 유효 셀 데이터를 해당 판독한 수신 입력 포인터의 값에 대응하는 메모리부(50)의 메모리 번지에 수신 메시지로 저장한다. 이에, 해당 수신 메시지를 모두 저장한 경우를 확인하여 해당 수신 입력 포인터의 값을 하드웨어적으로 하나 증가시켜 줌으로써, 다음 번에 입력되는 유효한 셀 데이터의 저장 시에 사용할 수 있도록 준비한다. 즉, 새로운 메시지가 입력되는 경우에 해당 증가된 수신 입력 포인터의 값에 대응하는 메모리 번지에 해당 새로운 메시지를 저장하게 된다.The memory control block 43 receives valid cell data from the message reception control block 44 and is recorded in the current reception input pointer of the control register 42 provided in the bus logic unit 40. The value is read, and the valid cell data is stored as a received message in a memory address of the memory unit 50 corresponding to the read value of the received input pointer. In this case, it checks the case where all the received messages are stored, and increases the value of the corresponding received input pointer by one hardware to prepare for use in storing the next valid cell data. That is, when a new message is input, the new message is stored in the memory address corresponding to the increased value of the received input pointer.

여기서, 수신 또는 송신되는 메시지의 저장에 사용되는 메모리부(50)의 구성은 도 5에 도시된 바와 같은데, 상기 유효 셀 데이터가 입력된 경우에만 상기 메모리부(50)에 저장되어지고 상기 수신 입력 포인터의 값을 하나 증가시켜 줌으로써 상기 수신 메시지를 저장할 수 있다.Herein, the configuration of the memory unit 50 used to store the received or transmitted message is as shown in FIG. 5, which is stored in the memory unit 50 only when the valid cell data is input and the reception input is performed. The received message can be stored by increasing the value of the pointer by one.

그런 후에, 상기 메모리부(50)에 저장된 수신 메시지를 실제적으로 프로그램에서 판독해 가는 방식은 하드웨어적으로 수신 입력 포인터와 수신 출력 포인터의 값을 비교하여 차이가 나는 경우에 해당 프로그램에 인터럽트를 발생시켜 새로운 수신 메시지가 현재 메모리에 저장되어 있으니 판독해서 처리해 줄 것을 요청하는경우와, 해당 프로그램이 주기적으로 수신 입력 포인터의 값을 판독하여 수신 출력 포인터의 값과 동일한지를 확인하여 해당 판독한 수신 입력 포인터 값이 상기 수신 출력 포인터 값과 동일하지 않는 경우에 수신 메시지가 현재 메모리에 존재하고 있는 것이므로 계속해서 메모리를 판독하여 수신 메시지를 처리하는 경우이다. 여기서, 해당 수신 입력 포인터 값과 수신 출력 포인터 값의 차이가 현재 메모리에 저장된 수신 메시지의 개수를 나타내게 된다.Then, the method of actually reading the received message stored in the memory unit 50 by the program compares the values of the reception input pointer and the reception output pointer in hardware and generates an interrupt in the corresponding program when the difference is different. Since a new receive message is currently stored in memory, it is requested to read and process it, and that the program periodically reads the value of the receive input pointer and checks whether it is the same as the value of the receive output pointer. If the received message is not equal to the received output pointer value, the received message is present in the memory, and thus the received message is continuously read to process the received message. Here, the difference between the corresponding received input pointer value and the received output pointer value indicates the number of received messages currently stored in the memory.

이 때, 해당 프로그램은 상기 수신 메시지를 모두 다 판독한 경우에 수신 출력 포인터의 값을 하나 증가시켜 줌으로써, 상기 수신 메시지를 판독했음을 하드웨어에 알려 준다.At this time, when the program reads all of the received messages, the program increases the value of the receive output pointer by one to inform the hardware that the received message has been read.

다음으로, 메시지를 다른 보드 측으로 송신하는 경우에 대해 살펴본다.Next, we will look at the case of sending a message to the other board.

다른 보드에 송신할 메시지가 있는 경우, 소프트웨어적으로 해당 송신 메시지를 업 인터페이스(41)를 통해 상기 제어 레지스터(42)에 구성된 송신 버퍼(FE0400)에 기록하게 된다.If there is a message to be transmitted to another board, the transmission message is written in software to the transmission buffer FE0400 configured in the control register 42 through the up interface 41.

이 때, 상기 메모리 제어 블록(43)은 상기 송신 버퍼에 기록된 송신 메시지의 첫 번째 바이트(즉, 목적 번지 영역)를 판독하여 해당 송신 메시지가 현재 구성된 세 개의 셀프 중 어떤 셀프에 송신될 메시지인지를 분석한다. 여기서, 해당 송신 메시지의 첫 번째 바이트는 보통 목적 번지를 지정하도록 메시지 형태를 구성하고 있으나, 이에 한정된 것은 아니다.At this time, the memory control block 43 reads the first byte (i.e., the destination address area) of the transmission message recorded in the transmission buffer to determine which of the three shelves currently configured for the transmission message. Analyze In this case, the first byte of the transmission message usually configures a message type to designate a destination address, but is not limited thereto.

그리고, 상기 메모리 제어 블록(43)은 현재의 송신을 위하여 상기 송신 메시지가 기록되어 있는 메모리 번지의 시작 번지(즉, 송신 입력 포인터의 값)를 상기버스 로직부(40) 내에 구비되어 있는 송신 서비스 큐(46-1 ~ 46-3)에 기록해 준다.The memory control block 43 transmits a start service (ie, a value of a transmission input pointer) of the memory address in which the transmission message is recorded for the current transmission in the bus logic unit 40. Record in the queues 46-1 to 46-3.

이 때, 상기 송신 입력 포인터의 운용은 상술한 바와 같이 수신 입력 포인터와 동일하게 운용되며, 상기 메모리 제어 블록(43)이 상기 송신 메시지를 상기 메모리부(50)의 메모리 버퍼에 모두 기록한 후에 상기 송신 입력 포인터의 값을 하나 증가시키므로 다음 번에 새로이 저장될 송신 메시지가 현재 저장된 메모리 버퍼의 다음 위치에 저장되게 한다.At this time, the operation of the transmission input pointer is operated in the same manner as the reception input pointer as described above, and after the memory control block 43 has written all the transmission messages in the memory buffer of the memory unit 50, the transmission is performed. Increment the value of the input pointer so that the next new transmission message is stored in the next location in the currently stored memory buffer.

상기에서 내부에 각각의 셀프에 대응하는 송신 서비스 큐(46-1 ~ 46-3)를 따로 구성하는 것은 현재의 송신을 위하여 구성된 메모리 버퍼는 동일한 것을 사용하지만 각각의 셀프에 송신될 메시지는 서로 다르므로 해당 셀프에 해당하는 송신 메시지만을 송신하기 위한 것인데, 각 셀프에 할당된 시간(즉, /TREC0 ~ /TREC2) 동안 해당 송신 서비스 큐(46-1 ~ 46-3)에 저장된 송신 입력 포인터의 값을 이용하여 해당 셀프로 송신될 메시지를 처리하게 된다.In the above, the transmission service queues 46-1 to 46-3 corresponding to each self are separately configured to use the same memory buffer configured for the current transmission, but the messages to be sent to each self are different. Therefore, only the transmission message corresponding to the self is transmitted.The value of the transmission input pointer stored in the corresponding transmission service queue 46-1 to 46-3 for the time allocated to each self (that is, / TREC0 to / TREC2). Use to process the message to be sent to the self.

그러면, 상기 송신 서비스 큐(46-1 ~ 46-3)를 운용하는 방식을 살펴보면, 해당 송신 서비스 큐(46-1 ~ 46-3)의 운용은 상기 버스 로직부(40) 내에 구비되어 있는 하드웨어 타이밍 발생 블록(47)에서 생성한 송수신 인에이블 클럭 신호(/TREC)와 서로 연관이 있다.Next, referring to a method of operating the transmission service queues 46-1 to 46-3, the operation of the transmission service queues 46-1 to 46-3 is hardware provided in the bus logic unit 40. The transmission / reception enable clock signal / TREC generated by the timing generation block 47 is correlated with each other.

즉, 제1 송수신 인에이블 클럭 신호(/TREC0)의 시간(기존의 경우, 첫 번째 셀프의 LMC가 동작하는 시간) 동안에 상기 버스 로직부(40) 내에 구비되어 있는 메시지 송신 제어 블록(45)에서 상기 제1 송신 서비스 큐(46-1)에 저장된 송신 입력 포인터의 값을 이용하여 상기 메모리 제어 블록(43)에 송신 메시지의 전송을 요구하며, 상기 메모리 제어 블록(43)은 현재 메모리에 저장된 송신 메시지를 판독해 해당 메시지 송신 제어 블록(45) 측으로 인가하여 상기 버퍼부(60)를 통해 로컬 보드에 송신하도록 해 준다.That is, in the message transmission control block 45 provided in the bus logic unit 40 during the time of the first transmit / receive enable clock signal / TREC0 (in the conventional case, the time when the LMC of the first self operates). Request transmission of a transmission message to the memory control block 43 by using a value of a transmission input pointer stored in the first transmission service queue 46-1, and the memory control block 43 transmits a transmission currently stored in a memory. The message is read and applied to the corresponding message transmission control block 45 to be transmitted to the local board through the buffer unit 60.

마찬가지로, 제2 송수신 인에이블 클럭 신호(/TREC1)의 시간(기존의 경우, 두 번째 셀프의 LMC가 동작하는 시간) 동안에는 상기 제2 송신 서비스 큐(46-2)에 저장된 송신 입력 포인터의 값에 대응하는 처리해야 할 송신 메시지가 있는 경우에 판독하여 처리해 준다. 그리고, 제3 송수신 인에이블 클럭 신호(/TREC2)의 시간(기존의 경우, 세 번째 셀프의 LMC가 동작하는 시간) 동안에 상기 메시지 송신 제어 블록(45)은 상기 제3 송신 서비스 큐(46-3)에 저장된 송신 입력 포인터의 값을 가지고 동일한 동작을 수행한다.Similarly, during the time of the second transmit / receive enable clock signal / TREC1 (in the conventional case, the time when the LMC of the second self operates), the value of the transmit input pointer stored in the second transmit service queue 46-2 is applied. If there is a corresponding transmission message to be processed, it is read and processed. In addition, during the time of the third transmit / receive enable clock signal / TREC2 (in the conventional case, the time when the third self LMC operates), the message transmission control block 45 performs the third transmission service queue 46-3. Perform the same operation with the value of the send input pointer stored in).

이에, 상기 세 가지의 경우에 있어 모든 송신 메시지의 전송이 완료된 경우, 하드웨어적으로 상기 송신 출력 포인터의 값을 하나 증가시켜 준다. 여기서, 해당 송신 출력 포인터의 경우에는 특별히 내부적으로 수행하는 작업은 없으나, 소프트웨어적으로 전체 송신 메시지의 개수를 측정할 때에 유용하게 사용될 수 있다.Accordingly, in all three cases, when the transmission of all transmission messages is completed, the value of the transmission output pointer is increased by one in hardware. In this case, the transmission output pointer is not particularly performed internally, but may be usefully used when measuring the total number of transmission messages by software.

상술한 바와 같은 동작의 수행으로, 매우 많은 로컬 보드가 하나의 버스에 공통으로 연결되고 로컬 보드의 메시지 양이 그다지 많지 않은 경우, 시분할 방식을 적용하고 메모리부를 큐 버퍼 형태로 관리하여 항상 주기적으로 모든 슬롯에 해당하는 메시지 버퍼를 판독할 필요 없이 현재 유효한 메시지가 입력된 경우에만 처리하면 되므로 하나의 제어 블록을 구성하여도 종래의 LMC와 MMC 형태로 구성한 경우보다 효율적으로 메시지를 처리할 수 있다.By performing the operation as described above, when a large number of local boards are commonly connected to one bus and the amount of messages on the local boards is not very large, the time division method is applied and the memory unit is managed in the form of a queue buffer, so that all the time Since only a valid message is inputted without reading the message buffer corresponding to the slot, even if one control block is configured, the message can be processed more efficiently than the conventional LMC and MMC.

또한, 상술한 바와 같은 동작의 수행으로, 메모리 버퍼의 크기를 현재 16(Byte)에서 64(Byte)로 확장하는 경우, 16(Byte) 메시지 처리 로컬 보드와 64(Byte) 단위로 송신하는 로컬 보드를 동시에 수용하는 구조가 가능하므로 고속의 메시지 송신이 필요한 서비스가 적용되어도 쉽게 구성이 가능하다. 그리고, 메시지 헤더는 1(Byte)로 구성되고 이중에 실제 목적 번지로 사용되는 영역은 4(Bit)만 사용되므로, 나머지 4(Bit)는 64(Byte) 단위로 송신하는 경우와 16(Byte) 단위로 송신하는 경우의 메시지를 구별하는데 사용하여 쉽게 구별할 수 있다.In addition, when the size of the memory buffer is expanded from the current 16 (Byte) to 64 (Byte) by performing the above-described operation, the local board transmitting the 16 (Byte) message processing local board and the 64 (Byte) unit Because it is possible to simultaneously accommodate the structure, even if a service that requires high-speed message transmission is applied, it can be easily configured. In addition, since message header is composed of 1 (Byte) and only 4 (Bit) is used in the area used as the actual destination address, the remaining 4 (Bit) is transmitted in units of 64 (Byte) and 16 (Byte). It can be easily distinguished by using to distinguish the message when transmitting in units.

이상과 같이, 본 발명에 의해 실제 프로그램이 메시지 송신 시에 실시간으로 처리하지 않고 베이스 타스크 상태에서도 메시지를 처리할 수 있으므로 전체 프로그램 성능을 향상시킬 수 있어 동일한 하드웨어 구성에서 수용하는 시스템 용량을 획기적으로 확장시킬 수 있으며, 효율적으로 시스템 버스를 구성하여 시스템을 보다 효율적으로 구성할 수 있는데, 특히 서로 다른 송신 속도를 가지는 로컬 보드가 동일한 버스를 사용하여 동일 시스템에 구성되므로 버스 구조의 변화 없이 기존에 사용되는 보드와 고속의 메시지 송신이 필요한 경우를 모두 수용할 수 있다.As described above, according to the present invention, the actual program can process the message even in the base task state without processing in real time at the time of message transmission, thereby improving the overall program performance and dramatically expanding the system capacity accommodated in the same hardware configuration. It is possible to configure the system more efficiently by configuring the system bus more efficiently, especially since local boards with different transmission speeds are configured in the same system by using the same bus. Both boards and high-speed message transmissions can be accommodated.

Claims (6)

다른 보드와 메시지를 송수신하는 버퍼부와;A buffer unit for transmitting and receiving messages with another board; 송신 가능한 최대 메시지의 크기로 구성된 버퍼 단위로 세분화되어 있는 수신 버퍼 메모리와 송신 버퍼 메모리를 구비해 수신 메시지와 송신 메시지를 각각 저장하는 메모리부와;A memory unit having a reception buffer memory and a transmission buffer memory which are subdivided into a buffer unit composed of a maximum message size that can be transmitted, and which store received messages and transmitted messages, respectively; 상기 버퍼부를 통해 유효 수신 메시지의 입력을 확인해 수신 입출력 포인터의 값에 따라 상기 메모리부에 기록하였다가 판독하고 송신 메시지를 송신 입출력 포인터의 값에 따라 상기 메모리부에 기록하였다가 판독해 상기 버퍼부로 출력하는 버스 로직부를 포함하여 이루어진 것을 특징으로 하는 시스템 버스에서 메시지 처리 장치.The input of the valid reception message is confirmed through the buffer unit, and the data is written to the memory unit according to the value of the reception input / output pointer, and the transmission message is written to the memory unit according to the value of the transmission input / output pointer, and then read and output to the buffer unit. Message processing apparatus in the system bus, characterized in that comprises a bus logic unit. 제1항에 있어서,The method of claim 1, 상기 포인터는 상기 메시지의 기록 시에 시작 번지를 지정하는데 사용되며, 상기 수신 입력 포인터는 기록한 유효 수신 메시지의 개수를 나타내고 상기 수신 출력 포인터는 판독된 수신 메시지의 개수를 나타내고 상기 송신 입력 포인터는 기록한 송신 메시지의 개수이고 상기 송신 출력 포인터는 판독된 송신 메시지의 개수를 나타낸 것을 특징으로 하는 시스템 버스에서 메시지 처리 장치.The pointer is used to designate a start address when the message is written, the reception input pointer indicates the number of valid received messages recorded and the reception output pointer indicates the number of read received messages and the transmission input pointer indicates the recorded transmission. And the transmission output pointer indicates the number of read transmission messages. 제1항에 있어서,The method of claim 1, 상기 버스 로직부는 CPU와 인터페이스하는 업 인터페이스와;An up interface for interfacing with the CPU; 수신 상태, 송신 상태, 수신 입출력 포인터 및 송신 입출력 포인터를 저장하는 영역과, 수신 버퍼와, 송신 버퍼를 구비하여 상기 업 인터페이스를 통해 메시지를 송수신하는 제어 레지스터와;A control register having a reception state, a transmission state, a reception input / output pointer and a transmission input / output pointer, a reception buffer, and a transmission buffer to transmit and receive a message through the up interface; 상기 버퍼부를 통해 유효한 셀 데이터의 입력을 확인하여 해당 입력 유효 셀 데이터만을 인가하는 메시지 수신 제어 블록과;A message reception control block which checks input of valid cell data through the buffer unit and applies only input valid cell data; 각 셀프에 할당되어지는 송수신 인에이블 클럭 신호를 생성하는 하드웨어 타이밍 발생 블록과;A hardware timing generation block for generating a transmit / receive enable clock signal assigned to each self; 송신 메시지가 기록되어 있는 메모리 번지의 송신 입력 포인터 값을 저장하는 송신 서비스 큐와;A transmission service queue that stores a transmission input pointer value of a memory address where a transmission message is recorded; 상기 하드웨어 타이밍 발생 블록에서 생성한 송수신 인에이블 클럭 신호에 따라 상기 송신 서비스 큐에 저장된 송신 입력 포인터의 값을 이용해 송신 메시지를 상기 버퍼부로 인가하는 메시지 송신 제어 블록과;A message transmission control block for applying a transmission message to the buffer unit using a value of a transmission input pointer stored in the transmission service queue according to the transmission / reception enable clock signal generated by the hardware timing generation block; 상기 메시지 수신 제어 블록과 메시지 송신 제어 블록의 제어에 따라 상기 제어 레지스터, 송신 서비스 큐 및 메모리부의 메모리 동작을 제어하는 메모리 제어 블록을 포함하여 이루어진 것을 특징으로 하는 시스템 버스에서 메시지 처리 장치.And a memory control block for controlling memory operations of the control register, the transmission service queue, and the memory unit under control of the message reception control block and the message transmission control block. 입력 유효 셀 데이터를 수신 입력 포인터의 값에 대응하는 메모리 번지에 수신 메시지로 저장하는 과정과;Storing the input valid cell data as a received message at a memory address corresponding to the value of the received input pointer; 상기 수신 메시지를 모두 저장한 경우에 상기 수신 입력 포인터의 값을 증가시키는 과정과;Increasing the value of the received input pointer when all of the received messages have been stored; 메모리에 저장되어 있는 수신 메시지를 확인해서 판독하는 과정과;Checking and reading a received message stored in a memory; 상기 수신 메시지를 모두 판독한 경우에 수신 출력 포인터의 값을 증가시키는 과정과;Increasing a value of a reception output pointer when all of the received messages are read; 송신할 메시지의 목적 번지 영역을 판독해 어떤 셀프에 송신할 메시지인지를 분석하는 과정과;Reading the destination address area of the message to be transmitted and analyzing which self is the message to be sent; 상기 셀프에 대응하는 송신 서비스 큐에 송신 입력 포인터의 값을 기록하는 과정과;Recording a value of a transmission input pointer in a transmission service queue corresponding to the self; 상기 송신 메시지를 상기 송신 입력 포인터의 값에 대응하는 메모리 번지에 저장하는 과정과;Storing the transmission message in a memory address corresponding to the value of the transmission input pointer; 상기 송신 메시지를 모두 저장한 경우에 상기 송신 입력 포인터의 값을 증가시키는 과정과;Increasing the value of the transmission input pointer when all the transmission messages have been stored; 상기 셀프에 할당된 송수신 인에이블 클럭 신호에 따라 상기 송신 서비스 큐에 기록된 송신 입력 포인터의 값을 이용하여 상기 송신 메시지를 판독해 송신하는 과정과;Reading and transmitting the transmission message using a value of a transmission input pointer recorded in the transmission service queue according to the transmission and reception enable clock signal assigned to the self; 상기 송신 메시지를 모두 송신한 경우에 송신 출력 포인터의 값을 증가시키는 과정을 포함하여 이루어진 것을 특징으로 하는 시스템 버스에서 메시지 처리 방법.And increasing a value of a transmission output pointer when all of the transmission messages have been transmitted. 제4항에 있어서,The method of claim 4, wherein 새로운 유효 셀 데이터의 입력 시에 상기 증가된 수신 입력 포인터의 값에 해당하는 메모리 번지에 저장하는 과정과;Storing at a memory address corresponding to the increased value of the received input pointer when new valid cell data is input; 새로운 송신할 메시지가 있는 경우에 상기 증가된 송신 입력 포인터의 값에 해당하는 메모리 번지에 저장하는 과정을 더 포함하여 이루어진 것을 특징으로 하는 시스템 버스에서 메시지 처리 방법.And storing the memory address corresponding to the value of the increased transmission input pointer when there is a new message to be transmitted. 제4항에 있어서,The method of claim 4, wherein 상기 메모리에 저장되어 있는 수신 메시지를 확인해서 판독하는 과정은 주기적으로 수신 입력 포인터의 값과 수신 출력 포인터의 값을 판독하는 단계와;Identifying and reading a received message stored in the memory may include periodically reading a value of a reception input pointer and a value of a reception output pointer; 상기 수신 입력 포인터의 값과 수신 출력 포인터의 값을 비교하는 단계와;Comparing a value of the receive input pointer with a value of the receive output pointer; 상기 수신 입력 포인터 값과 수신 출력 포인터 값의 차가 있는 경우에 인터럽트를 발생시켜 상기 수신 메시지의 판독을 요청하는 단계와;Generating an interrupt and requesting reading of the received message when there is a difference between the received input pointer value and the received output pointer value; 상기 요청에 따라 상기 메모리에 저장되어 있는 수신 메시지를 판독하는 단계를 포함하여 이루어진 것을 특징으로 하는 시스템 버스에서 메시지 처리 방법.And reading the received message stored in the memory in response to the request.
KR1019990028550A 1999-07-14 1999-07-14 Apparatus and Method of Managing Messages in a System Bus KR100298287B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019990028550A KR100298287B1 (en) 1999-07-14 1999-07-14 Apparatus and Method of Managing Messages in a System Bus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019990028550A KR100298287B1 (en) 1999-07-14 1999-07-14 Apparatus and Method of Managing Messages in a System Bus

Publications (2)

Publication Number Publication Date
KR20010009933A KR20010009933A (en) 2001-02-05
KR100298287B1 true KR100298287B1 (en) 2001-11-01

Family

ID=19601856

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990028550A KR100298287B1 (en) 1999-07-14 1999-07-14 Apparatus and Method of Managing Messages in a System Bus

Country Status (1)

Country Link
KR (1) KR100298287B1 (en)

Also Published As

Publication number Publication date
KR20010009933A (en) 2001-02-05

Similar Documents

Publication Publication Date Title
KR100800989B1 (en) Memory arbitration system and method having an arbitration packet protocol
EP1738267B1 (en) System and method for organizing data transfers with memory hub memory modules
US6523088B2 (en) Disk array controller with connection path formed on connection request queue basis
US6073205A (en) System and method of write posting in a universal serial bus system
US7752349B2 (en) Apparatus and method for performing DMA data transfer
US7069373B2 (en) USB endpoint controller flexible memory management
US7930451B2 (en) Buffer controller and management method thereof
JPS61109164A (en) Bus control
JP2006189937A (en) Reception device, transmission/reception device, reception method, and transmission/reception method
US6449281B1 (en) Interface control of communication between a control processor and a digital signal processor
KR100288177B1 (en) Memory access control circuit
CN111181874B (en) Message processing method, device and storage medium
KR100298287B1 (en) Apparatus and Method of Managing Messages in a System Bus
KR20010053612A (en) Storage device and a method for operating the storage device
CN109145397A (en) A kind of external memory arbitration structure for supporting parallel pipelining process to access
CN107085557A (en) Direct memory access system and associated method
US5379395A (en) Semiconductor integrated circuit for central processor interfacing which enables random and serial access to single port memories
JPH08212178A (en) Parallel computer
US4860250A (en) Data packet shortening method and device
JP2834927B2 (en) Computer system
JP7363344B2 (en) Memory control device and control method
JP3058010B2 (en) Method and apparatus for communication between processors
US5875299A (en) disk access apparatus for performing a stride processing of data
JP2505298B2 (en) Variable bus width designation method and variable bus width information reception method in split bus
JPH0833869B2 (en) Data processing device

Legal Events

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

Payment date: 20080424

Year of fee payment: 8

LAPS Lapse due to unpaid annual fee