KR19990058857A - 에취에스비 인터페이스 프로그램을 이용한 노드간 메시지전송 방법 - Google Patents
에취에스비 인터페이스 프로그램을 이용한 노드간 메시지전송 방법 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/167—Interprocessor communication using a common memory, e.g. mailbox
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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/163—Interprocessor communication
- G06F15/17—Interprocessor 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의 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 인터페이스 프로그램을 이용하여 메시지를 전송하는 방법.
- 제 1 항에 있어서, 상기 데이터 전송 형태가 패킷 형태로 이루어지는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
- 제 2 항에 있어서, 상기 패킷 형태는 소프트웨어 로직을 근간으로 하는 것이 가능한, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
- 제 3 항에 있어서, 상기 소프트웨어 로직은 간단한 하드웨어 로직을 바탕으로 하는 것이 가능한, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
- 제 1 항에 있어서, 상기 제 4 단계에서 상기 버스 사용권을 얻었으면 패킷 크기만큼 데이터를 전송하는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
- 제 3 항에 있어서, 상기 패킷 크기는 버스 사용권을 위해 너무 길지 않도록 하는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
- 제 6 항에 있어서, 상기 패킷 크기를 버스 사용권을 위해서 385 바이트로 일정하게 유지하는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
- 제 1 항에 있어서, 상기 제 4 단계에서 상기 전송에 있어서, 하드웨어 전기적 용량만 된다면 많은 하드웨어 노드도 사용이 가능한, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
- 제 1 항에 있어서, 하드웨어의 백본이 수정 되더라도 응용 프로그램은 수정할 필요가 없는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
- 제 9 항에 있어서, 필요에 따른 상기 프로그램의 수정으로 원래의 응용 레벨의 프로그램을 사용할 수 있는, HSB 인터페이스 프로그램을 이용하여 노드간 메시지를 전송하는 방법.
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) |
-
1997
- 1997-12-30 KR KR1019970079031A patent/KR100275069B1/ko not_active IP Right Cessation
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 |