KR19990058857A - 에취에스비 인터페이스 프로그램을 이용한 노드간 메시지전송 방법 - Google Patents

에취에스비 인터페이스 프로그램을 이용한 노드간 메시지전송 방법 Download PDF

Info

Publication number
KR19990058857A
KR19990058857A KR1019970079031A KR19970079031A KR19990058857A KR 19990058857 A KR19990058857 A KR 19990058857A KR 1019970079031 A KR1019970079031 A KR 1019970079031A KR 19970079031 A KR19970079031 A KR 19970079031A KR 19990058857 A KR19990058857 A KR 19990058857A
Authority
KR
South Korea
Prior art keywords
task
node
hsb
data
hsbi
Prior art date
Application number
KR1019970079031A
Other languages
English (en)
Other versions
KR100275069B1 (ko
Inventor
권중오
Original Assignee
윤종용
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 윤종용, 삼성전자 주식회사 filed Critical 윤종용
Priority to KR1019970079031A priority Critical patent/KR100275069B1/ko
Publication of KR19990058857A publication Critical patent/KR19990058857A/ko
Application granted granted Critical
Publication of KR100275069B1 publication Critical patent/KR100275069B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/167Interprocessor communication using a common memory, e.g. mailbox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/17Interprocessor communication using an input/output type connection, e.g. channel, I/O port

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

본 발명은 노드간 메시지를 전달하는 방법에 관한 것으로서, 특히 HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법에 관한 것이다.
본 발명에 따라 HSB 인터페이스 프로그램을 이용하여 메시지를 전송하는 방법은, 노드 1의 HSBi_TX Task로 먼저 데이터를 전송하는 단계, 노드 1의 HSBi_TX Task는 데이터를 Task A에서 받은 후 HSB TX 버퍼에 저장하는 단계, HSB가 사용되고 있으면 버스를 기다리면서, 버스 사용권을 얻기 위해 요구하는 단계, HSB 사용권을 얻었다면, HSBi_TX Task에서 버퍼에 있는 데이터를 HSB에 DMA를 통해 노드 2의 HSBi_RX Task의 RX 버퍼로 전송하는 단계. 노드 2의 HSBi_RX Task는 HSB상에서 전송된 데이터를 RX 버퍼에 저장하는 단계, HSB상의 데이터는 DMA를 통해 노드 2의 HSBi_RX Task의 RX 버퍼에 저장되는 단계, HSBi_RX Task의 RX 버퍼에 저장된 데이터를 노드 2의 Task B로 전송하는 단계를 포함여 이루어진다.

Description

에취에스비 인터페이스 프로그램을 이용한 노드간 메시지 전송 방법
본 발명은 노드간 메시지를 전달하는 방법에 관한 것으로서, 특히 HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법에 관한 것이다.
다중 프로세서(Multi Processor)간의 메시지 전송을 위해서 커널 인터페이스(Kernal Interface)를 이용하는데 커널 인터페이스는 각 노드와 노드사이에 메시지를 전송해 주는 역할을 한다. 이런 기존의 커널 인터페이스 프로그램들은 LAN 이나 VMEBus를 이용하여 커널 인터페이스를 하였다.
도 1 은 종래의 LAN 또는 VMEBus 또는 이더넷을 이용한 메시지 전송방법을 설명한다. 종래에는 이미 상용화된 VMEBus 이나 이더넷 매체를 이용하여 구성되었다. 이런 하드웨어 구성은 그 특성에 맞는 디바이스 드라이버 프로그램으로 구성되어있으며, 이런 종래의 기술은 범용 디바이스를 기준으로 만들어졌기 때문에 종래의 시스템에서는 중복(Redundancy)을 많이 갖고 있다.
따라서 종래의 LAN이나 VMEBus를 이용할 경우와 메시지 흐름(Message Flow)은 동일한 흐름에 의하여 흘러가며, 특정 시스템에서 좋은 효율을 내지는 못하는 문제점이 있었다.
뿐만 아니라 기존에는 여러 형태의 백본(Backbone)을 사용하였고 이런 백본은 범용 시스템을 위하여 구성되어 있으므로 어느 특정 시스템에 적용하기에는 너무 많은 중복과 너무도 다양한 기능을 갖고 있으며 이런 다양한 기능들이 오히려 데이터 전송을 저하시키는 단점을 나타내었다.
본 발명은 상기된 바와 같은 문제점을 해결하기 위한 것으로, 자체적으로 디자인한 하드웨어 버스, 즉 HSB를 사용하여 노드간의 데이터 전송 속도를 올리는 것을 목적으로 하였으며, 또한 데이터 전송 형태가 패킷 형태로 이루어지므로 버스 이용 효율을 높이는 목적과 응용 프로그램을 하드웨어에 독립적으로 유지시키는 것을 다른 목적으로 한다.
본 발명의 다른 목적과 장점은 아래의 발명의 상세한 설명을 읽고 아래의 도면을 참조하면 보다 명백해질 것이다:
도 1 는 종래의 LAN 또는 VMEBus 또는 이더넷등을 이용한 메시지 전송 방법을 나타낸다.
도 2 은 본 발명의 실시예에 의한 HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 장치의 구성을 나타낸다.
도 3 은 본 발명의 실시예에 의한 HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법을 나타낸다.
상기와 같은 목적을 달성하기 위하여 창안된 본 발명은, 하나의 바람직한 양태에 있어서, HSB 인터페이스 프로그램을 이용하여 메시지를 전송하는 방법은 노드 1의 HSBi_TX Task로 먼저 데이터를 전송하는 제 1 단계;
노드 1의 HSBi_TX Task는 데이터를 Task A에서 받은 후 HSB TX 버퍼에 저장하는 제 2 단계;
HSB가 사용되고 있으면 버스를 기다리면서, 버스 사용권을 요구하는 제 3 단계;
HSB 사용권을 얻었다면, HSBi_TX Task에서 버퍼에 있는 데이터를 HSB에 DMA(Direct Memory Access)를 통해 노드 2의 HSBi_RX Task의 RX 버퍼로 전송하는 제 4 단계;
노드 2의 HSBi_RX Task는 HSB상에서 전송된 데이터를 RX 버퍼에 저장하는 제 5 단계;
HSB상의 데이터는 DMA를 통해 노드 2의 HSBi_RX Task의 RX 버퍼에 저장되는 제 6 단계;
HSBi_RX Task의 RX 버퍼에 저장된 데이터를 노드 2의 Task B로 전송하는 제 7 단계를 포함한다.
본 발명에 있어서, 상기 데이터 전송 형태가 패킷 형태로 이루어지는 것이 바람직하며,
상기 패킷 형태는 소프트웨어 로직을 근간으로 하는 것이 가능한 것이 바람직하고,
상기 소프트웨어 로직은 간단한 하드웨어 로직을 바탕으로 하는 것이 가능한 것이 바람직하다.
그리고 상기 버스 사용권을 얻었으면 패킷 크기만큼 데이터를 전송하는 것이 바람지하며,
상기 패킷 크기는 버스 사용권을 위해 너무 길지 않도록 하는 것이 바람직하며,
상기 패킷 크기를 버스 사용권을 위해서 385 바이트로 일정하게 유지하는 것이 바람직하고,
상기 전송에 있어서, 하드웨어 전기적 용량만 된다면 많은 하드웨어 노드도 사용이 가능한 것이 바람직하다.
또한 하드웨어의 백본이 수정되더라도 응용 프로그램은 수정할 필요가 없는 것이 바람직하며,
필요에 따른 상기 프로그램의 수정으로 원래의 응용 레벨의 프로그램을 사용할 수 있는 것이 바람직하다.
본 발명은 다양하게 변형될 수 있고, 여러 가지 형태를 취할 수 있지만, 그에 따른 특별한 실시예만 상기 도면에 도시되어 있고, 그에 대해서는 상세하게 기술될 것이다. 하지만, 본 발명은 명세서에서 언급된 특별한 형태로 한정되는 것이 아닌 것으로 이해되어야 하며, 오히려 본 발명은 첨부된 청구범위에 의해 정의된, 본 발명의 정신과 범위 내에 있는 모든 변형물, 균등물 및 대체물을 포함하는 것으로 이해되어야 한다.
이하 첨부된 도 3을 참조하여 본 발명의 HSB 인터페이스 프로그램을 이용하여 메시지를 전송하는 방법을 설명한다.
노드간에 데이터를 전송하는 디바이스 드라이버 프로그램으로 노드 1의 Task내에서 데이터를 노드 2의 Task B로 데이터를 전송할 경우 노드 1과 노드 2 사이에는 HSB라는 버스가 있으며 상기 버스는 하드웨어의 연결을 의미한다.
상기 하드웨어를 연결하는 디바이스 드라이버인 소프트웨어는 HSB 인터페이스 프로그램(HSB Interface Program)이다. 이는 하드웨어 매체의 변경에 따라 이 부분의 프로그램만 변경되며, 다시말하면 응용 프로그램만 변경되면 된다.
데이터 전송 흐름에 있어서, 노드 1의 Task A에서 데이터를 전송하여 노드 2의 Task B에서 데이터를 받는 순서는 다음과 같다.
1. 노드 1의 HSBi_TX Task로 먼저 데이터를 전송하는 단계.
2. 노드 1의 HSBi_TX Task는 데이터를 Task A에서 받은 후 HSB TX 버퍼에 저장하는 단계.
3. HSB가 사용되고 있으면 버스를 기다리면서, 버스 사용권을 얻기 위해 요구하는 단계.
4. HSB 사용권을 얻었다면, HSBi_TX Task에서 버퍼에 있는 데이터를 HSB에 DMA를 통해 노드 2의 HSBi_RX Task의 RX 버퍼로 전송하는 단계.
5. 노드 2의 HSBi_RX Task는 HSB상에서 전송된 데이터를 RX 버퍼에 저장하는 단계.
6. HSB상의 데이터는 DMA를 통해 노드 2의 HSBi_RX Task의 RX 버퍼에 저장되는 단계.
7. HSBi_RX Task의 RX 버퍼에 저장된 데이터를 노드 2의 Task B로 전송하는 단계.
상기와 같은 단계로 데이터 전송이 이루어지는데 이 HSB를 이용한 데이터 통신은 패킷 통신을 기본 구조로 하며, 이 패킷 통신은 버스 사용권을 버스에 요구하고, 버스 사용권을 얻으면 정해진 노드로 정해진 패킷 크기만큼 데이터를 전송한다.
상기 패킷 크기는 버스 사용권을 위해 너무 길지 않도록 하였으며 상기 버스 사용권을 위해서 패킷 크기도 385 바이트로 일정하게 유지하여 버스 사용 시간 이나 데이터 전송 효율등을 고려하였다.
그리고 자체적으로 설계한 하드웨어 버스, 즉 HSB를 사용하게 되었으며, 상기 버스는 본 시스템을 위하여 설계된 하드웨어로서 노드간의 데이터 전송 속도를 올리는데 주안점을 두었으며, 하드웨어 로직을 단순화하여 본 소프트웨어에 제어할 하드웨어 핀을 단순화하여 디바이스 드라이버의 HSB 제어 로직이 매우 단순하며, HSB 시작 로직도 매우 단순하여 디바이스 드라이브 프로그램이 단순하다.
상기와 같이 동작하는 본 발명은, 버스 인터페이스를 할 수 있는 디바이스 드라이버 프로그램의 변경으로 하드웨어와 독립적인 소프트웨어를 구현할 수 있다는 장점을 갖고 있으며, 데이터의 패킷 크기도 데이터의 포맷에 따라 변경이 가능하다.
그리고 데이터 전송 형태가 패킷 형태로 이루어지므로 간단한 하드웨어 로직을 바탕으로 소프트웨어 로직을 패킷 통신을 근간으로 하여 버스 이용 효율을 높였다.
또한 패킷 크기도 384 바이트로 고정하여 속도를 향상시키고 버스 점유시간도 지나치게 길지 않게 하여 버스의 사용권 속도도 높이고 시간도 조정하였다.
그리고 하드웨어 전기적 용량만 된다면 많은 하드웨어 노드를 붙일 수 있다는 장점과 응용 프로그램은 하드웨어 백본이 수정 되더라도 응용은 수정이 없이 레벨의 프로그램을 사용할 수 있다는 장점이 있다.

Claims (10)

  1. 노드 1의 HSBi_TX Task로 먼저 데이터를 전송하는 제 1 단계;
    노드 1의 HSBi_TX Task는 데이터를 Task A에서 받은 후 HSB TX 버퍼에 저장하는 제 2 단계;
    HSB가 사용되고 있으면 버스를 기다리면서, 버스 사용권을 얻기 위해 요구하는 제 3 단계;
    HSB 사용권을 얻었다면, HSBi_TX Task에서 버퍼에 있는 데이터를 HSB에 DMA를 통해 노드 2의 HSBi_RX Task의 RX 버퍼로 전송하는 제 4 단계;
    노드 2의 HSBi_RX Task는 HSB상에서 전송된 데이터를 RX 버퍼에 저장하는 제 5 단계;
    HSB상의 데이터는 DMA를 통해 노드 2의 HSBi_RX Task의 RX 버퍼에 저장되는 제 6 단계;
    HSBi_RX Task의 RX 버퍼에 저장된 데이터를 노드 2의 Task B로 전송하는 제 7 단계를 포함하는, HSB 인터페이스 프로그램을 이용하여 메시지를 전송하는 방법.
  2. 제 1 항에 있어서, 상기 데이터 전송 형태가 패킷 형태로 이루어지는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
  3. 제 2 항에 있어서, 상기 패킷 형태는 소프트웨어 로직을 근간으로 하는 것이 가능한, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
  4. 제 3 항에 있어서, 상기 소프트웨어 로직은 간단한 하드웨어 로직을 바탕으로 하는 것이 가능한, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
  5. 제 1 항에 있어서, 상기 제 4 단계에서 상기 버스 사용권을 얻었으면 패킷 크기만큼 데이터를 전송하는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
  6. 제 3 항에 있어서, 상기 패킷 크기는 버스 사용권을 위해 너무 길지 않도록 하는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
  7. 제 6 항에 있어서, 상기 패킷 크기를 버스 사용권을 위해서 385 바이트로 일정하게 유지하는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
  8. 제 1 항에 있어서, 상기 제 4 단계에서 상기 전송에 있어서, 하드웨어 전기적 용량만 된다면 많은 하드웨어 노드도 사용이 가능한, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
  9. 제 1 항에 있어서, 하드웨어의 백본이 수정 되더라도 응용 프로그램은 수정할 필요가 없는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
  10. 제 9 항에 있어서, 필요에 따른 상기 프로그램의 수정으로 원래의 응용 레벨의 프로그램을 사용할 수 있는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
KR1019970079031A 1997-12-30 1997-12-30 에취에스비인터페이스프로그램을이용한노드간메시지전송방법 KR100275069B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970079031A KR100275069B1 (ko) 1997-12-30 1997-12-30 에취에스비인터페이스프로그램을이용한노드간메시지전송방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970079031A KR100275069B1 (ko) 1997-12-30 1997-12-30 에취에스비인터페이스프로그램을이용한노드간메시지전송방법

Publications (2)

Publication Number Publication Date
KR19990058857A true KR19990058857A (ko) 1999-07-26
KR100275069B1 KR100275069B1 (ko) 2000-12-15

Family

ID=19530008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970079031A KR100275069B1 (ko) 1997-12-30 1997-12-30 에취에스비인터페이스프로그램을이용한노드간메시지전송방법

Country Status (1)

Country Link
KR (1) KR100275069B1 (ko)

Also Published As

Publication number Publication date
KR100275069B1 (ko) 2000-12-15

Similar Documents

Publication Publication Date Title
EP1750401B1 (en) USB 1.1 over a high speed link
US4652874A (en) Serial communication interface for a local network controller
US4866664A (en) Intercomputer communication control apparatus & method
US6185607B1 (en) Method for managing network data transfers with minimal host processor involvement
US6035360A (en) Multi-port SRAM access control using time division multiplexed arbitration
US6603744B2 (en) Connection establishment method, communication method, state change transmission method, state changing method, wireless apparatus, wireless device, and computer
US5748634A (en) Method and apparatus for implementing a two-port ethernet bridge using a semaphoring technique
GB2226737A (en) Local area network with an active star topology
JP2000506295A (ja) アプリケーションとバス間の非同期データ転送を自動的に管理する非同期データパイプ
US20050174877A1 (en) Bus arrangement and method thereof
US6389501B1 (en) I/O peripheral device for use in a store-and-forward segment of a peripheral bus
US5856921A (en) Apparatus and method for intermodular communications using system bus controllers
CA2194026C (en) Method and apparatus for moving data packets between networks while minimizing cpu interventions using a multi-bus architecture
US6219353B1 (en) Message hub
KR19990058857A (ko) 에취에스비 인터페이스 프로그램을 이용한 노드간 메시지전송 방법
EP0577110A2 (en) Dual bus local area metwork interfacing system
JP3639651B2 (ja) 少なくとも2台のプロセッサからなる情報処理装置
US6546018B1 (en) Digital system having a peripheral bus structure with at least one store-and-forward segment
US6629186B1 (en) Bus controller and associated device drivers for use to control a peripheral bus having at least one store-and-forward segment
Fischer et al. PVM for SCI clusters
KR100391712B1 (ko) 교환기의 아이피시 정합 장치
KR100198802B1 (ko) 노드간 엑센트네트를 통한 메시지 전송 제어 방법
JP2001256168A (ja) Usbデバイス
JP2664208B2 (ja) ダイレクトメモリアクセス制御装置ならびにダイレクトメモリアクセス制御方法
JP2984594B2 (ja) マルチクラスタ情報処理システム

Legal Events

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

Payment date: 20080804

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee