KR19980047274A - 수신 연결망 인터페이스의 구조 - Google Patents
수신 연결망 인터페이스의 구조 Download PDFInfo
- Publication number
- KR19980047274A KR19980047274A KR1019960065750A KR19960065750A KR19980047274A KR 19980047274 A KR19980047274 A KR 19980047274A KR 1019960065750 A KR1019960065750 A KR 1019960065750A KR 19960065750 A KR19960065750 A KR 19960065750A KR 19980047274 A KR19980047274 A KR 19980047274A
- Authority
- KR
- South Korea
- Prior art keywords
- message
- buffer
- packet
- controller
- data
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2441—Traffic characterised by specific attributes, e.g. priority or QoS relying on flow classification, e.g. using integrated services [IntServ]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
본 발명은 연결망 인터페이스 제어기에 관한 것으로, 버퍼에 저장되는 짧은 길이의 메시지를 CPU에 의하여 읽히거나 메모리로 옮기고 긴 길이의 메시지는 DMA 방식을 사용하여 CPU의 도움없이 지정된 어드레스의 메모리에 직접 저장하는 두가지의 방식을 모두 제공하여 짧은 길이의 메시지에 대하여 긴급한 CPU 서비스를 보장받을 수 있고, 긴 메시지에 대하여 CPU 부하를 줄일 수 있는 수신 연결망 인터페이스의 구조가 제시된다.
Description
본 발명은 연결망 인터페이스 제어기에 관한 것으로, 특히 버퍼와 직접 메모리 접근(Direct Memory Access:이하 DMA라 함) 제어기를 지원하여 다양한 메시지 서비스를 제공할 수 있는 수신 연결망 인터페이스의 구조에 관한 것이다.
종래의 수신 연결망 인터페이스는 버퍼 혹은 DMA 제어기중 하나만을 내장하므로써 메시지의 길이와 용도에 따라 효과적으로 메시지를 처리할 수 없는 단점이 있다.
따라서, 본 발명에서는 한개의 수신 인터페이스에 버퍼와 DMA 제어기를 제공하므로써 메시지 수신시에 효과적인 서비스를 제공할 수 있도록 하는데 그 목적이 있다.
상술한 목적을 달성하기 위한 본 발명은 수신된 패킷 단위의 상호 연결망 신호중 밸리드 신호를 검사하고 데이터를 싱크의 상승점마다 래치하는 패킷 수신기와, 상기 패킷 수신기에 수신된 패킷을 저장하는 패킷 버퍼와, 상기 패킷 버퍼에서 읽은 패킷이 제어 메시지일 경우 메시지 버퍼에 저장하고 데이터 메시지일 경우 메모리 직접 접근 버퍼에 저장하는 메시지 수신기와, 중앙 처리 장치의 제어에 의해 동작하는 복수의 메시지가 저장된 메시지 버퍼와, 상기 메시지 버퍼의 내용을 읽거나 제거하는 메시지 버퍼 제어기와, 상기 메시지 버퍼 제어기에 상기 메시지 버퍼 읽기를 요청하고 상기 메시지 버퍼의 내용을 상기 메시지 버퍼 제어기를 통해 입력하는 주변 장치 상호 연결 제어기와, 상기 패킷 버퍼에서 읽은 데이터 메시지를 저장하는 직접 메모리 접근 제어기와, 상기 직접 메모리 접근 버퍼에 저장된 패킷들을 주변 장치 상호 연결 제어기를 통하여 직접 메모리로 전송하는 직접 메모리 접근 제어기로 이루어진 것을 특징으로 한다.
도 1은 본 발명에 따른 수신 연결망 인터페이스의 하드웨어 구성도.
도 2A 및 도 2B는 본 발명에 따른 데이터 메시지의 데이터 패킷 및 제어 패킷의 포맷을 도시한 블록도.
도 3은 본 발명에 따른 데이터 메시지의 구성도.
도 4는 본 발명에 따른 연결망 신호들의 타이밍을 도시한 그래프.
*도면의 주요 부분에 대한 부호의 설명*
1:PCI 버스2:PCI 제어기
3:메시지 버퍼4:메시지 버퍼 제어기
5:DMA 버퍼6:DMA 제어기
7:메시지 수신기8:패킷 버퍼
9:패킷 수신기
본 발명의 장치가 접속될 상호 연결망은 다음의 패킷 전송 프로토콜을 사용한다. 연결망은 데이터 전송을 위하여 패킷 전송 프로토콜을 사용하며 모든 데이터 전송은 패킷 단위로 수행된다. 패킷의 최대 크기는 17 더블-워드(32비트)이다. 연결망과 수신 연결망 인터페이스는 밸리드(VALID), 데이터(DATA), 파(PAR), 레디(READY), 그리고 싱크(SYNC) 등의 신호를 사용한다.
이하, 첨부된 도면을 참조하여 본 발명을 상세히 설명하기로 한다.
도 1은 본 발명에 따른 수신 연결망 인터페이스의 하드웨어 구조도이다. 상호 연결망 신호는 패킷 수신기(9)에 연결된다. 패킷 수신기(9)는 밸리드(VALID) 신호를 검사하여 1이면 데이터(DATA)를 싱크(SYNC)의 상승점마다 래치한다. 이와 같이 수신된 패킷은 패킷 버퍼(8)에 저장된다. 패킷 버퍼(8)의 패킷들은 메시지 수신기(7)에서 읽어낼 때까지 저장된다. 패킷 수신기(9)는 패킷 버퍼(8)에 여유 공간이 있으면 레디(READY)를 토글하여 연결망에서 새로운 패킷이 입력되도록 하고, 패킷 버퍼(8)에 여유가 없으면 레디(READY)를 0로 유지하여 더이상 패킷의 입력을 막는다. 메시지 수신기(9)는 패킷 버퍼(8)에서 패킷을 읽고 제어 메시지의 경우는 메시지 버퍼(4)에, 데이터 메시지는 DMA 버퍼(6)에 각각 저장한다. 메시지 버퍼(11)에는 복수의 메시지가 저장되며 그것들은 중앙 처리 장치(이하 CPU라 함)의 서비스를 받아야 읽혀지거나 메모리로 이동할 수 있다. 메시지 버퍼 제어기(5)는 메시지 버퍼(4)의 내용을 읽거나 버퍼의 내용을 제거하는 동작을 수행한다. CPU의 메시지 버퍼 읽기 액세스는 주변 장치 상호 연결(이하 PCI라 함) 버스(1)를 통하여 PCI 제어기(2)로 전달된다. PCI 제어기(2)는 메시지 버퍼 제어기(5)에 메시지 버퍼(4) 읽기 요청을 하고 다시 메시지 버퍼 제어기(5)는 읽기 요청에 따라 메시지 버퍼(4)를 액세스하여 그 내용을 PCI 제어기(2)에 전달한다. 메시지 버퍼(4)에 저장된 메시지들은 읽혀질 때와 마찬가지로 제거될 때도 CPU의 도움이 필요하다. 즉, 메시지 제거 신호는 메시지 버퍼 제어기(4) 내부의 제어 레지스터에 쓰기 사이클을 수행하므로써 발생된다. DMA 버퍼(6)는 복수의 데이터 패킷을 저장할 수 있는 공간을 제공하고, DMA 제어기(7)는 DMA 버퍼(6)에 저장된 패킷들을 PCI 제어기(2)를 통하여 직접 메모리로 전송한다. 이때 DMA 제어기(7)는 데이터 패킷을 PCI 버스(1)로 전송하기 위하여 어드레스와 데이터를 PCI 제어기(2)로 입력한다. DMA 제어기(7)는 [수학식 1]에 따라 데이터 패킷을 위한 메모리 저장 어드레스를 계산한다.
[수학식 1]
데이터 패킷의 DMA 어드레스=DMA 베이스 어드레스+데이터 패킷 일련 번호×패킷 크기
도 2A및 도 2B는 본 발명에 따른 데이터 메시지의 데이터 패킷 및 제어 패킷의 포맷을 도시한 블록도이다. 도시된 바와 같이 데이터 패킷과 제어 패킷의 포맷은 서로 다르다. 즉, 데이터 패킷은 17플릿의 고정된 길이를 갖고 헤더 플릿이 형태(typ), 일련 번호(psn), 그리고 수신노드 번호(sni)를 포함한다. 반면에 제어 패킷은 17플릿 이하의 가변 길이를 갖고 헤더 플릿은 형태(typ), 길이(pl), 그리고 송신노드 번호(sni)를 포함한다. 연결망 인터페이스는 노드에 설치되고 노드와 노드 사이의 메시지 전송을 수행한다. 본 발명의 장치는 다음의 메시지 전송 프로토콜을 가정한다. 즉, 메시지는 한 개 혹은 그 이상의 패킷들로 이루어지고 그 종류는 데이터 메시지와 제어 메시지로 구분된다. 제어 메시지는 한 개의 제어 패킷으로 구성된다. 반면에 데이터 메시지는 한 개의 제어 패킷과 1개 혹은 그 이상의 데이터 패킷들로 이루어진다. 또한, 제어 패킷은 가변 길이를 갖는 반면에 데이터 패킷은 고정된 길이를 갖는다.
도 3은 본 발명에 따른 데이터 메시지의 구성도로서, 한 개의 헤더 패킷과 다수의 데이터 패킷들로 구성된 것을 나타낸다. 데이터 메시지가 여러개의 데이터 패킷을 갖는 경우 데이터 패킷들은 서로 다른 시간에 임의의 순서로 수신 연결망 인터페이스에 도착된다. 이와 같이 패킷들은 시간과 순서에 임의성을 갖으므로 수신 연결망 인터페이스는 메시지 길이와 패킷 일련 번호를 이용하여 전송되는 패킷들로부터 메시지를 복원한다. 메시지의 길이는 데이터 메시지의 가장 첫 번째 제어 패킷에 포함된다. 또한 데이터 패킷의 헤더 플릿에 표시된 일련 번호는 서로 다른 시간에 임의의 순서로 도착된 패킷들을 모아서 한 개의 메시지로 복원하기 위하여 사용된다. 수신 연결망 인터페이스는 DMA 방식을 사용하여 데이터 패킷을 수신한 후 즉시 지정된 어드레스의 메모리로 옮긴다. 이때 데이터 메시지의 제어 패킷에 저장된 DMA 베이스 어드레스와 패킷 일련번호를 사용하여 [수학식 1]과 같이 계산된다.
도 4는 연결망 신호들의 타이망을 도시한 그래프로서, 밸리드(VALID)와 데이터(DATA)를 사용한 데이터 전송을 보여준다. 연결망은 유효한 패킷을 연결망 인터페이스로 출력하는 동시에 밸리드(VALID)를 1로 출력한다. 이때 연결망 인터페이스는 클럭 싱크(SYNC)의 상승점에서 데이터(DATA)를 래치한다. 밸리드(VALID)는 한번 1로 바뀌면 패킷이 끝까지 입력될 때까지 1을 유지한다. 레디(READY)는 연결망 인터페이스의 출력 신호로서 새로운 패킷이 입력되기 위하여는 레디(READY)의 1→0→1로 토글되어야 한다. 연결망 인터페이스는 새로운 패킷을 받을 수 있으면 레디(READY)를 토글하여 연결망에서 패킷이 입력되도록 하고, 새로운 패킷을 받을 여유가 없으면 레디(READY)를 0로 유지하여 패킷의 입력을 막는다. 수신 연결망 인터페이스로 입력되는 패킷의 첫째 더블-워드는 헤더 플릿으로서 패킷 형태와 길이 등의 정보를 포함한다.
상술한 바와 같이 본 발명에 의하면 길이가 짧은 메시지는 버퍼에 저장하여 CPU에게 긴급한 서비스를 요청하고, 길이가 긴 메시지는 DMA 방식을 사용하여 CPU의 도움없이 지정된 어드레스의 메모리에 직접 저장하는 두가지 방식을 수신 연결망 인터페이스에서 모두 제공하므로써 길이가 짧은 메시지에 대하여 긴급한 CPU 서비스를 보장받을 수 있고, 길이가 긴 메시지에 대하여 CPU의 도움없이 많은 양의 데이터를 직접 메모리로 전송하므로써 CPU 부하를 줄일 수 있는 등 여러 응용에서 높은 성능과 다양한 서비스를 제공할 수 있는 훌륭한 효과가 있다.
Claims (1)
- 수신된 패킷 단위의 상호 연결망 신호중 밸리드 신호를 검사하고 데이터를 싱크의 상승점마다 래치하는 패킷 수신기와,상기 패킷 수신기에 수신된 패킷을 저장하는 패킷 버퍼와,상기 패킷 버퍼에서 읽은 패킷이 제어 메시지일 경우 메시지 버퍼에 저장하고 데이터 메시지일 경우 메모리 직접 접근 버퍼에 저장하는 메시지 수신기와,중앙 처리 장치의 제어에 의해 동작하는 복수의 메시지가 저장된 메시지 버퍼와,상기 메시지 버퍼의 내용을 읽거나 제거하는 메시지 버퍼 제어기와,상기 메시지 버퍼 제어기에 상기 메시지 버퍼 읽기를 요청하고 상기 메시지 버퍼의 내용을 상기 메시지 버퍼 제어기를 통해 입력하는 주변 장치 상호 연결 제어기와,상기 패킷 버퍼에서 읽은 데이터 메시지를 저장하는 직접 메모리 접근 제어기와,상기 직접 메모리 접근 버퍼에 저장된 패킷들을 주변 장치 상호 연결 제어기를 통하여 직접 메모리로 전송하는 직접 메모리 접근 제어기로 이루어진 것을 특징으로 하는 수신 연결망 인터페이스의 구조.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960065750A KR100198789B1 (ko) | 1996-12-14 | 1996-12-14 | 수신 연결망 인터페이스의 구조 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1019960065750A KR100198789B1 (ko) | 1996-12-14 | 1996-12-14 | 수신 연결망 인터페이스의 구조 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19980047274A true KR19980047274A (ko) | 1998-09-15 |
KR100198789B1 KR100198789B1 (ko) | 1999-06-15 |
Family
ID=19487869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019960065750A KR100198789B1 (ko) | 1996-12-14 | 1996-12-14 | 수신 연결망 인터페이스의 구조 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100198789B1 (ko) |
-
1996
- 1996-12-14 KR KR1019960065750A patent/KR100198789B1/ko not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100198789B1 (ko) | 1999-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7315550B2 (en) | Method and apparatus for shared buffer packet switching | |
EP0606368A1 (en) | Packet processing method and apparatus | |
JPS60148249A (ja) | メツセ−ジ除去方法 | |
US6128715A (en) | Asynchronous transmit packet buffer | |
RU2008136752A (ru) | Шлюз для автоматической маршрутизации сообщений между шинами | |
US6483840B1 (en) | High speed TCP/IP stack in silicon | |
US5983305A (en) | Network adapter with data aligner | |
EP1508225B1 (en) | Method for data storage in external and on-chip memory in a packet switch | |
KR100198789B1 (ko) | 수신 연결망 인터페이스의 구조 | |
US6282203B1 (en) | Packet data transmitting apparatus, and method therefor | |
JP2002164924A (ja) | パケット処理装置 | |
US7401134B2 (en) | Packet processing architecture | |
JP4060270B2 (ja) | 送信装置と受信装置の間においてビデオのライン・データを遅延させる装置および方法 | |
KR970007249B1 (ko) | 데이타버스폭 변환장치 | |
US7143185B1 (en) | Method and apparatus for accessing external memories | |
JPH0831877B2 (ja) | パケツトスイツチ | |
JP3058010B2 (ja) | プロセッサ間通信方法及び装置 | |
JP2013130952A (ja) | データ転送装置及びデータ転送方法 | |
JP2953362B2 (ja) | Lanのスイッチング装置 | |
JP3008837B2 (ja) | Lanのスイッチング装置 | |
JPH03150943A (ja) | 通信装置 | |
JP3266789B2 (ja) | 通信制御装置 | |
KR920702117A (ko) | 통신 시스템 | |
JP2944412B2 (ja) | データ転送方法およびデータ転送方式 | |
JP2004054419A (ja) | ノード間トランザクション処理装置 |
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: 20080303 Year of fee payment: 10 |
|
LAPS | Lapse due to unpaid annual fee |