KR950002709B1 - 데이타 전송 방법 - Google Patents

데이타 전송 방법 Download PDF

Info

Publication number
KR950002709B1
KR950002709B1 KR1019880700039A KR880700039A KR950002709B1 KR 950002709 B1 KR950002709 B1 KR 950002709B1 KR 1019880700039 A KR1019880700039 A KR 1019880700039A KR 880700039 A KR880700039 A KR 880700039A KR 950002709 B1 KR950002709 B1 KR 950002709B1
Authority
KR
South Korea
Prior art keywords
data
frame
memory
processor
buffer area
Prior art date
Application number
KR1019880700039A
Other languages
English (en)
Other versions
KR880701410A (ko
Inventor
그로버 퍼치트고트 데이비드
로이드 힐러 토마스
해롤드 키브 2세 프레드릭
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 아메리칸 텔리폰 앤드 텔레그라프 캄파니
Publication of KR880701410A publication Critical patent/KR880701410A/ko
Application granted granted Critical
Publication of KR950002709B1 publication Critical patent/KR950002709B1/ko

Links

Images

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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • 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/10Program control for peripheral devices
    • G06F13/12Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
    • G06F13/124Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine
    • G06F13/128Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor where hardware is a sequential transfer control unit, e.g. microprocessor, peripheral processor or state-machine for dedicated transfers to a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

내용 없음.

Description

데이타 전송 방법
본 발명은 데이타 통신 시스템에 관한 것으로서, 특히 그러한 시스템에서 데이타를 전송하는 개량된 방법 및 장치에 관한 것이다.
발명의 분야
공지된, 형의 데이타 통신 시스템에서, 다수의 억세스 터미널은 데이타 패킷 또는 프레임을 사용하는 정보교환을 위해 공통 데이타 버스에 연결되어 있다. 그러한 시스템은 통상 데이타 버스와 터미널 사이에 연결된 인터페이스 유닛을 갖고 있으며, 인터페이스는 실제로 그곳에 연합된 터미널에 대한 프레임을 누산(전송)한다. 그러한 시스템은 종종 국부 네트워크 또는 LAN이라 불린다. 인터페이스 유닛은 수신후 또는 전송전에 프레임을 지정하기 위한 수신 버퍼 영역 및 전송버퍼 영역을 갖고 있는 메모리를 포함한다. 수신 및 전송 버퍼 영역은 실제로 처리되는 프레임의 길이에 따라서 함께 연결될 수 있는 다수의 작은 버퍼 영역이다. 정보가 터미널로 부터 전송될때, 상기 터미널에서 제어 유닛은 정보를 전송 버퍼에 적재시키고, 인터페이스 유닛에 상기 정보를 데이타 버스상으로 전송하도록 통지한다. 비슷하게, 1프레임이 수신된 후에, 인터페이스 유닛은 지정된 수신 버퍼를 하적하여, 터미널에 의한 사용을 위해 또는 부가 전송을 위해 정보를 메모리의 영역으로 이동시키는 제어 유닛에게 통지한다. 작게 링크된 버퍼를 제공하면 개개의 프레임이 작을때 매우 효율적인 메모리 사용을 할 수 있다. 그러나 전송 또는 수신된 각각의 프레임은 버퍼를 적재 및 하적하기 위한 상당한 제어 유닛 시간을 요한다. 그러므로, 대량의 정보가 작은 프레임으로 이동되야만 한다면, 제어 유니트는 심각한 하중을 받기 때문에 문제점이 발생한다. 따라서 본 발명은 대량의 정보가 국부네트워크로 운송될 수 있는 방법 및 배열을 제공하는 것이며, 상기 배열에서는 큰 프레임이 전송되며, 최소한의 제어 유닛 시간을 요한다.
발명의 요약
상술된 문제는 본 발명의 원리에 따라 해결되며, 또한 기술적인 진보가 이루어진다. 버스에 의해 제1제어 유닛, 제1코-프로세서 및 수신 버퍼 영역과 데이타 및 제어 영역을 포함하는 제1메모리를 구비하는 터미널에 연결되는 데이타의 프레임을 전송하는 전송 유닛을 포함하는 장치에서, 제1코-프로세서는 버스로 부터 데이타의 프레임을 수신하도록 세트되며, 또한 수신 버퍼 영역에서 수신된 데이타의 프레임을 저장하도록 세트되며, 제l제어 유닛은 제l제어 유닛에 의한 사용을 위해 수신 버퍼 영역으로 부터 수신된 데이타를 판독하고, 본 발명의 방법은 제1메모리의 데이타 및 제어 영역에서 데이타가 저장되는 실제 위치인 특정 메모리 위치에 수신된 데이타의 프레임을 저장하도록 제1코-프로세서를 세팅하는 단계와, 전송 유닛으로 데이타의 프레임을 터미널에 전송하는 단계와, 제1코-프로세서로 데이타의 프레임을 특정 제1메모리 위치에 저장시키는 단계와, 데이타의 연속 프레임을 상기 메모리의 수신 버퍼 영역에 저장하기 위하여 리세팅하는 단계를 포함한다.
본 발명의 한 실시예에 따르면, 다수의 터미널은 통신 버스에 의해 상호 연결되어 있다. 데이타 프레임의 교환을 위한 정규 모드인 통신 모드에서, 전송 터미널에서 중앙 처리 유닛은 전송되는 데이타를 전송 터미널내의 메모리의 앞서 규정된 전송 버퍼 영역에 적재시킨다. 국부 네트워크 코-프로세서는 전송 버퍼 영역을 판독하고, 버퍼로 부터 판독된 정보를 포함하는 버스상으로 데이타 프레임을 전송한다. 전송 모드에서 수신 터미널은 버스로 부터 데이타 프레임을 수신하고, 수신된 프레임을 메모리의 수신 버퍼 영역에 저장시킨다. 그후 수신 터미널에서 중앙 처리 유닛은 수신 버퍼 영역을 판독하며, 그 데이타를 재선송의 사용을 위한 다른 위치로 이동시킨다. 실시예는 또한 데이타가 전송 버퍼 영역에 있지 않은 메모리 위치로 부터 직접 전송되며, 데이타가 수신되자마다 수신 버퍼 영역에 있지 않은 메모리 위치에 직접 저장되는 직접 전송모드로 작동한다. 직접 전송 모드로 들어가기 위하여, 전송 터미널에서 코-프로세서를 제어하는 정보는 전송된 프레임에 대한 데이타가 데이타를 저장하는 실제 메모리 위치로 부터 판독되도록 수정된다. 이것은 중앙 처리 유닛에 의한 전송 버퍼 영역으로의 데이타 이동을 제거시킨다. 부가적으로, 수신 터미널을 제어하는 정보는 수신된 데이터가 메모리 위치(수신 버퍼 영역이 아님)에 직접 기록되도록 수정된다. 이것은 수신중앙 처리 유닛에 의한 수신 버퍼 영역으로 부터 수신된 데이타의 이동을 제거시킨다. 직접 전송의 완성되자마자 두 터미널은 통신 모드 동작이 계속될 수 있게 재구성된다.
제2도는 국부 네트워크의 블록 다이어그램이다. 이 LAN은 데이타 버스(13)에 모두 연결되는 터미널(10,11 및 12)을 포함한다. 각각의 터미널은 어드레스를 갖고 있으머, 데이타 버스(13)를 다른 터미널과 데이타 프레임을 교환하는 능력이 있다. 데이타 프레임은 프레임의 소스와 목적지 및 타입 분류를 규정하는 헤더 부분을 포함한다. 프레임은 또한 프레임에 의해 운송되는 실제 정보인 데이타 부분을 포함한다. 타임분류는 연합된 프레임 예로, 데이타 또는 제어 정보의 형을 규정한다. 각각의 터미널 예로, 10은 LAN코-프로세서(15)를 데이타 버스(13)에 연결시키는 버스 인터페이스(14)를 포함한다. LAN 코-프로세서(15)은 버스 인터페이스(14)를 통하여 데이타 버스(13)상의 정보를 연속해서 분석한다. 데이타 버스(13)상의 프레임인 목적지 어드레스가 주어진 터미널 예로 10의 어드레스일때 상기 주어진 터미널의 코-프로세서(15)는 프레임을 수신하여 그것을 버스 배열(17) 을 통하여 메모리(16)의 버퍼 영역에 저장한다. 프레임의 성공적인 수신 및 저장에 따라서, 호스트 중앙 처리 유닛(CPU)(18)에 통보한다. 그후 호스트 CPU(18)는 메모리(16)의 버퍼 영역으로 부터 상기 정보를 제거하므로써 수신된 프레임의 정보 부분을 사용할 수 있다. 각각의 터미닐, 예로, 10은 비교적 작은 세트의 지시 및 데이타를 저장하는 판독 전용메모리(21)를 구비한다. 저장된 지시 및 데이타는 터미널을 초기화시키는데 사용된다. ROM(21)은 또한 선정된 어드레스와 같은 어떤 선정된 상수를 저장한다. 상기 ROM의 사용의 뒤에 설명된다.
본 실시예에서, CPU(18)는 터미널(10)의 주 프로세서이며, 통신 라인들이 데이타 버스(13)상으로 통신할 수 있도록 상기 통상 라인(20)을 코-프로세서(15)에 연결시키기 위해 스위치 네트워크(l9)을 제어하는데 사용된다. 호스트 CPU(18)가 데이타 버스(13)상으로 전송하기를 원할때, 상기 CPU는 데이타의 프레임을 메모리(16)의 버퍼 영역에 저장시킨다. 후에 더 상세히 설명되겠지만, LAN 코-프로세서(15)는 상기 버스가 휴지인 것으로 판정될때 버스(13)상으로 저장된 프레임을 전송한다. 본 실시예에서, LAN 코-프로세서(l5)는 인텔 82586일 수 있으며, 그것의 사용법은 1984년 인텔 코포레이션에 의해 공개된 LAN 콤포넌트 유저 매뉴얼에 상세히 설명되어 있다.
제3도는 메모리(16)의 이용에 대한 좀더 상세한 표현이다. CPU(18)가 사용을 위한 프로그램 및 데이터 모두는 어떤 제어 정보와 LAN 코-프로세서(15)에 의해 사용되는 데이타 버퍼와 함께 메모리(16)에 저장된다. 터미널, 예로, 10이 초기화될때, CPU(18)는 데이타 프레임의 저장 및 전송을 제어하기 위해 사용되는 메모리의 영역에서 메모리(16)의 선정된 위치에서 시스템 제어 블록(25)을 만든다. 선정된 위치는 ROM(21)(제2도)에 저장된 데이타로 부터 결정된다. 시스템 제어 블록(25)은 프레임, 디스크립터의 링크된 리스트를 지시하는 수신 프레임 포인터(26)을 포함한다. 상기 링크된 리스트는 프레임 디스크립터(27 및 28)에 의해 제3도에 표현되어 있다. 생성된 프레임 디스크립터의 실제수는 시스템에 동시에 저장될 수 있는 프레임의 수를 제한하여, 기대된 교통 조건을 기준하여 선택된다. 본 실시예에서, 100프레임 디스크립터들은 초기에 생성된다. 또한, 다수의 수신 버퍼 디스크립터(28 내지 30)와 다수의 수신 버퍼(31 내지 33)가 초기에 생성된다. 긱각의 수신 버퍼 디스크립터(28 내지 30)는 상기 수신 버퍼 디스크립터에 저장된 정보에 의해 각각의 수신 버퍼(31 내지 33)에 링크된다. 또한, 각각의 수신 버퍼 디스크립터는 그곳에 링크된 수신 버퍼의 사이즈를 규정하는 값을 저장한다. 본 실시예에서, 100 수신 버퍼 디스크립터와 100 수신 버퍼는 초기에 생성되며, 각각의 수신 버퍼는 64바이트의 데이타를 저장하는 능력이 있다. 프레임 디스크립터, 수신 버퍼디스크립터, 및 수신 버퍼의 조합은 여기에시 수신 프레임 영역(34)이라 칭하며, 수신 버퍼(31 내지 33)에 의해 차지된 메모리 위치는 모두 수신 버퍼 영역(35)이라 칭한다.
다음의 설명은 프레임이 수신될때 프레임 디스크립터, 수신 버퍼 디스크립터, 및 수신 버퍼의 사용에 대한 것이다, 논의된 동작 모드는 버스(13)상으로 데이타를 송신하고 수신하는 정규 모드인 통신 모드라 불린다. 앞서 설명했듯이, LAN 코-프로세서(15)는 LAN 코-프로세서(15)의 어드레스를 갖고 있는 프레임이 검출될때 까지 데이타 버스(13)상의 정보를 조사한다. 그후 코-프로세서(15)는 아이들 프레임 디스크립터, 예로, (27)을 선택하여 그곳에 수신된 프레임으로 부터의 헤더 정보를 저장한다. 부가적으로, 코-프로세서(15)는 수신 버퍼 디스크립터, 예로, (28)를 할당하고, 연합된 수신 버퍼(31)의 위치 및 사이즈를 결정하기 위하여 수신 버퍼 디스크립터(28)로 억세스한다. 그후 수신된 프레임으로 부터의 데이타는 연합된 수신 버퍼(31)에 저장되며, 완전한 수신에 따라, 수신 버퍼(3l)에 저장된 데이타의 정확한 바이트 수를 나타내는 값은 수신 버퍼 디스크립터(28)에 저장된다. 수신된 프레임의 데이타 부분이 싱글 수신 버퍼, 예로, (31)에 대하여 대단히 클때, LAN 코-프로세서(15)는 수신된 데이타에 대한 충분한 용량을 제공하기 위해 필요한 만큼 많은 수신 버퍼 디스크립터(28 및 29) 사이의 링크에 의해 도시되어 있다. 완전한 프레임이 저장된 후에, 코-프로세서(15)는 CPU(18)에 통지하며, 상기 CPU(18)는 그것의 사용을 위해 또는 통신 라인(20)(제2도)으로의 부가 전송을 위해 수신 버퍼로 부터의 정보를 억세스하므로써 코-프로세서(15)에 응답한다. 다음의 설명은 통신 모드에 있는 동안 버스(13)상으로의 프레임의 전송에 관한 것이다. 명령 리스트 포인터(36)는 또한 초기의 시간에 시스템 제어 블록(25)에 저장된다. 명령 리스트 포인터(36)는 명령 블록이라 불리는 메모리내의 한 위치를 지시하며, 그것의 몇몇은 함께 링크될 수 있다. 명령 블록의 링크 구조는 전송 명령 블록(37 및 42)으로 제3도에 표현되어 있다. 명령 블록은 LAN 코-프로세서(15)에 의해 취해지는 작동을 규정한다. 단지 한 형태의 명령 즉 전송 명령은 쉬운 이해를 위해 상세히 설명된다. CPU(18)가 프레임을 전송하기를 원할때, 그것은 시스템 제어 블록(25)의 명령 리스트 포인터(36)에 의해 가리켜진 위치에서 전송 제어 블록, 예로, (37)을 만든다. 전송 명령 블록(37)은 전송 버퍼 디스크립터(38)를 지시하고 차례로 전송 버퍼(39)를 지시한다. 전송 명령 블록(37)은 전송 명령, 프레임에 대한 목적지, 전송되는 프레임의 형태를 저장한다. CPU(18)는 전송 버퍼 디스크립터(38)에 연합된 전송 버퍼의 사이즈를 규정하는 바이트 카운트 값과, 프레임에 대한 데이타를 포함하는 전송 버퍼(39)에 실제 바이트 수를 지시하는 값을 저장한다. 전송되는 프레임이 싱글 전송 버퍼에 저장될 수 있는 것보다 더 많은 데이터를 갖고 있을 때, 다중 전송 버퍼 디스크립터는 서로 링크될 수 있다. 이것은 제3도에서 전송 버퍼 디스크립터(38)와 전송버퍼 디스크립터(40)사이의 링크로 도시되어 있다. 전송되는 실제 데이타는 CPU(18)에 의해 전송 버퍼, 예로,(39 및 41)에 저장된다. 코-프로세서(15)는 CPU가 실행되는 임의 타스크를 계획했는지를 결정하기 위하여 시스템 제어 블록(25)에 CPU(18)에 의해 저장된 정보를 주기적으로 판독한다. 시스템 제어 블록(25) 정보가 타스크가 계획됐음을 지시할때, 코-프로세서(15)는 제1전송 명령 블록(37)을 억세스한다. 이러한 명령 블록이 전송 명령을 포함하기 때문에, 코-프로세서(15)는 전송 명령블록(37), 링크된 전송 버퍼디스크립터(38 및 40), 및 전송 버퍼(39 및 41)내의 정보로 부터 프레임을 형식화한다. 그후 코-프로세서(15)는 데이타 버스(13)가 유효할때 프레임을 전송한다. 전송 명령 블록은 한번에 단지 하나의 데이타 프레임과 연합된다. 다중 프레임이 전송될때, 다중 전송 명령 블록은 제3도에서 전송 명령 블록(37)과 전송 명령 블록(42) 사이의 포인터에 의해 도시된 바와 같이 함께 링크될 수 있다. 명령 블록 전송 버퍼 디스크립터와 전송 버퍼의 조합은 명령 리스트(43)라 칭하며, 전송 버퍼, 예로,(39 및 40)에 의해 차지된 메모리위치는 전송 버퍼 영역이라 칭한다.
때때로, 터미널의 메모리(16)의 대부분 또는 전체 내용을 다른 터미널에 전송하는 것이 바람직한 것이다. 예로, 한 터미널에서 메모리(16)의 일부(또는 전부) 내용이 오류인 것으로 발견될때, 실제로 동일한 터미널로 부터 새로운 메모리 내용을 제공하는 것이 바람직한 것이다. 또한, 제2터미널이 제1터미널 대신에 사용될 수 있도록 제1터미널로 부터 제2터미널까지의 전체 내용 또는 상당 부분을 복사하는 것이 바람직할것이다. 상술된 통신 모드 동작은 소스 및 목적지 터미널에서 CPU(18)제어를 위해 요구되는 시간에 기인하여 큰 정보 전송에 전혀 영향을 주지 않을 것이다.
따라서, 직접 전송 모드라 불리는 새로운 모드의 동작은 대량의 데이타가 교환되는 것이 필요할때 사용된다. 본 실시예에서 단지 하나의 터미널, 예로, (11)은 그 자체를 인에이블하도록 허락되며, 또는 다른 터미널은 직접 전송 모드로의 변화를 개시하는 것이 허락된다. 이것은 오류있는 터미널이 다른 터미널에 있는 데이타 또는 프로그램을 부적절하게 겹쳐 쓰는 가능성을 감소시킨다. 메모리(16)의 프로그램 및 데이터의 모두가 직접 전달 모드를 사용하여 갱신될 수 있음은 주목해야 한다. 그러나, 다음의 예는 터미널(12)(전송터미널)의 메모리(l6)로 부터 터미널(10)(수신 터미널)의 메모리(16)로의 32바이트 데이타 블록 전송에 관한 것이다. 제1도는 실행된 절차의 흐름 다이어그램이고, 제4도는 전송 터미널(12)에 관한 작용을 나타내며, 제5도는 수신 터미널(10)에 관한 작용을 나타낸다. 초기에, 터미널(l1)은 전송 터미널(12)의 메모리(16)에 있는 특정 위치로 부터 수신 터미널(10)의 메모리(16)내의 특정 위치로의 직접 전송이 발생되게 하는 것을 규정하는 터미널(12)에 제어 메시지를 전송한다. 전송 터미널(l2)은 메모리(16)의 위치가 전송되는 데이타를 저장하는 터미널(11)로 부터 제어 메시지를 판정하여, 직접 전송 모드 전송이 시작됨을 지시하는(제1도, 처리 블록(60) 수신 터미널(10)에 메시지를 전송한다. 그러한 메시지는 데이타 부분이 CPU(l8)에 의해 제어 메시지로 사용되는 것을 규정하는 타입필드를 포함한다. 이 메시지는 또한 전송되는 프레임의 수, 각 프레임내의 바이트 수, 및 저장되는 각 프레임을 규정하는 정보를 명기하는 정보를 포함한다. 수신터미널(10)의 CPU(18)가 수신 버퍼로 부터 메시지를 판독할때, 그것은 수신된 데이타를 만드는데 사용하는 것을 판정하기 위해 타입 필드를 해석한다. 본 실시예에서, 타입 필드는 해석되고, 수신된 데이터는 CPU(18)에 의해 제어 메시지로 사용된다. 그러한 제어 메시지는 코-프로세서(15)에 의해 실행될 수 있는 임의 제어 명령을 포함할 수 있다. 전송 터미널(12)로 부터의 제어 메시지에 응답하여, 수신 터미널(10)내의 CPU(18)는 수신 터미널(10)의 어드레스를 특히 직접 전송 모드 데이타 전송을 위해 사용되는 것으로 변화시킬 수 있다.(처러 블록 61), 이러한 어드레스 변화는 직접 전달 절차동안 전송 터미널(12)을 제외한 임의 터미널로 부터의 수신 프레임으로 부터 수신 터미널(10)을 분리시키는 작용을 한다. 본 실시예에서, 새로운 어드레스는 터미널(12)의 ROM(21)(제2도)에 있는 선정된 위치에 저장된다. 다른 터미널은 한쌍의 터미널이 직접 전송 모드에 있는동안 통신 모드를 사용하여 버스(13)상으로 통신할 수 있다. 본 실시예에서, 정보는 전송 터미널(12)의 전송 명령 블록(37)과 전송 버퍼 디스크립터(38 및 40)에 저장되어, 직접 전송 모드로 들어간다. 통신 모드를 규정하는 정보를 저장하는 다른 전송 명령 블록, 예로, (42)가 전송 명령블록(37)에 링크될 수 있음을 주목해야 한다.
전송 터미널(12)은 전송되는 데이타의 실제 저장 영역이 전송 버퍼 대신에 가리켜지도록 그것의 명령 리스트(43)(블록62)를 재구성한다. 본 실시예에서, 수신 버퍼 디스크립터, 예로, (28)와 전송 버퍼 디스크립터, 예로, (37)는 단지 16K바이트까지의 데이타 블록을 처리할 수 있다. 따라서, CPU(18)는 두개의 16K바이트 블록(44 및 45)(제4도)으로서 전송되는 32K바이트를 처리한다. 명령 리스트(43)는 수신 터미널(10)의 새로운 어드레스를 포함하는 전송 명령 블록(37)을 만들므로써 그러고 전송 명령 블록(37)을 전송버퍼 디스크립터(38)에 링크시키므로써 재구성된다. 최대 데이타 블록 사이즈는 16K 바이트이기 때문에, 전송 버퍼 디스크립터(38)는 두개의 16K 바이트 메모리 블록이 프레임을 구성하기 위해 사용될 수 있도록 전송 버퍼 디스크립터(40)에 링크된다. 16K의 바이트 카운트는 또한 전송 버퍼 디스크립터(38 및 40)에 저장된다. 따라서, 전송 버퍼 디스크립터(38)는 전송 버퍼(39)로 부터 링크가 풀리며, 메모리 블록(44)에 링크된다(처리 블록(63). 상기 메모리 블록(44)은 전송되는 데이타의 제1 16K바이트의 실제 저장위치이다. 비슷하게, 전송 버퍼 디스크립터(40)는 전송 버퍼(41)로 부터 풀려서 메모리 블록(45)에 링크된다.
수신 터미널(10)은 데이타가 저장되는 실제 메모리 위치가 수신 버퍼 대신에 가리켜지도록 그것의 수신프레임 영역(34)(제5도)을 재구성한다(처리 블록 64). 수신 프레임 면적은 수신 버퍼 디스크립터(28 및 29)를 링크시키고 그곳에 저장된 정보를 바꾸므로써 재구성된다. 새로운 정보는 16K 바이트의 버퍼 사이즈를 가리키며, 수신 버퍼 디스크립터(28)를 메모리 블록(46)에 링크시키고, 수신 버퍼 디스크립터(29)를 메모리 블록에 링크시킨다.(처리 블록 65). 터미널(12)의 명령 리스트(43)와 터미널(10)의 수신 프레임 영역(34)이 재구성된 후에, 터미널(12)의 코-프로세서(15)는 터미널(l0)의 새로운 어드레스에 어드레스된 프레임을 전송하기 시작하여(처리 블록 66). 상기 프레임은 메모리 블록(44 및 45)으로 부터의 32K 데이타 바이트를 구비한다. 터미널(10)의 코-프로세서(15)는 이 프레임의 목적지 어드레스를 확인하여 그 데이터를 그것의 수신 버퍼 영역(34) 대신에 메모리 블록(46 및 47)에 직접 저장시킨다(처리 블록 67) 프레임이 터미널(l0)에 완전히 저장된 후에, 수신 버퍼 디스크립터(28 및 29)와 메모리 블록(46 및 47) 사이의 연결은 수신 버퍼 영역에서 수신 버퍼 예로,(31 및 32)로의 연결로 대체되며, 버퍼 사이즈는 64바이트로 다시 바뀐다. 또한, 인지 신호는 전송 터미널(12)로 보내진다. 전송 터미널(12)은 인지 신호에 응답하여 전송 버퍼디스그립터(38 및 40)로부터 메모리 블록(44 및 45)까지의 연결을 전송 버퍼(39 및 41)로의 연결로 대체시키고 버퍼 사이즈를 다시 64바이트로 바꾼다(처리 블록 68). 상술된 기술을 이용하면 거의 임의 길이의 프레임도 구성되어, 전송 및 수신될 수 있다. 더구나, 다중 프레임은 명령 리스트(43)에 부가 전송 명령 블록과 수신 터미널(10)의 수신 프레임 영역(34)에 부가 프레임 디스크립터를 만들므로써 함께 링크될 수 있다.
제6도는 직접 전송 모드를 위해 수신 터미널(10)에 메모리(16)를 재구성하는 대안 방법을 보여준다. 터미널(10)이 개시될때, 적어도 하나의 부가 프레임 디스크립터(50)와 수신 버퍼 디스크립터(51 및 52)가 만들어진다. 수신 버퍼 디스크립터(51 및 52)는 16K 바이트의 바이트 카운트 값을 포함한다, 메모리 블록(46 및 47)으로의 32K 바이트 전송을 위한 터미널(12)로 부터의 요청에 응답하여 터미널(10)의 CPU(18)는 수신 프레임 포인터(26)를 프레임 디스크립터(50)의 어드레스에 세트시키며, 수신 버퍼 디스크립터(51 및 52)내의 목적지 어드레스를 메모리 블록(46 및 47) 각각에 직접 세트시킨다. 전송은 상술된 바와같이 프레임이 완전히 수신될때까지 발생된다. 수신 후에, 수신 프레임 포인터(26)는 전의 프레임 디스크립터(27)를 나타내는 값으로 바뀐다.
본 발명은 첨부된 도면을 참조로 좀 더 상세하게 설명될 것이다.
제1도는 본 발명을 구체화하는 방법의 흐름 다이어그램.
제2도는 터미널 네트워크의 다이어그램.
제3도는 통신 모드에서의 메모리 사용을 나타내는 도면.
제4 및 5도는 직접 전송 모드 동작에서 메모리 사용을 나타내는 도면.
제6도는 대안 직접 전송 모드 동작에서 메모리 사용을 나타내는 도면.

Claims (5)

  1. 제1제어 유닛, 제1코-프로세서, 및 수신 버퍼 영역과 데이타 및 제어 영역을 구비하는 제1메모리를 포함하는 터미널에 버스에 의해 연결되어 있는 데이타 프레임을 전송하기 위한 전송 유닛을 포함하는 장치에서, 제1코-프로세서는 상기 버스로 부터 데이타의 프레임을 수신하도록 세트되며, 그렇게 수신된 데이타의 프레임을 상기 수신 버퍼 영역에 저장하도록 세트되며, 상기 제1제어 유닛은 상기 제1제어 유닛에 의한 사용을 위해 상기 수신 버퍼 영역으로 부터 수신된 데이타를 판독하는 장치에서 데이타를 전송하는 방법이, 수신된 데이타의 프레임을 상기 제1메모리의 데이타 및 제어 영역에서 데이타가 저장되는 실제 위치인 특정 위치에 저장하기 위해 상기 제1코-프로세서를 세팅하는 단계와, 상기 전송 유닛트로 데이타의 프레임을 상기 터미널에 전송하는 단계와, 상기 제1코-프로세서로 상기 데이타의 프레임을 상기 특정 위치에 저장시키는 단계와, 연속 데이타의 프레임을 상기 제1메모리의 상기 수신 버퍼 영역에 저장시키기 위하여 상기 제1코-프로세서를 리세팅하는 단계를 포함하는 것을 특징으로 하는 데이타 전송 방법.
  2. 수신된 데이타의 프레임이 상기 제1메모리에 저장된 포인터에 의해 확인된 저장 위치에 저장되는 제1항에 있어서, 상기 제1코-프로세서 세팅 단계는 상기 포인터를 상기 수신 버퍼 영역을 확인하는 값으로부터 상기 제1메모리의 상기 데이타 및 제어 영역내의 상기 특정 위치를 확인하는 값으로 바꾸는 단계를 포함하며, 상기 제1코-프로세서를 리세팅하는 단계는 상기 포인터를 상기 제1메모리내의 상기 특정 위치를 확인하는 값으로 부터 상기 수신 버퍼 영역을 확인하는 값으로 바꾸는 단계를 포함하는 것을 특징으로 하는 데이타 전송 방법.
  3. 제1항에 있어서, 상기 제1코-프로세서 단계의 실행전에 상기 전송 유닛으로 상기 제1메모리내의 상기 특정 위치를 규정하는 설정된 정보를 전송하는 단계와, 상기 설정된 정보를 상기 터미널이 수신하는 단계를 포함하는 것을 특징으로 하는 데이타 전송 방법.
  4. 전송 유닛이 제2제어 유닛, 제2코-프로세서, 및 전송 버퍼 영역과 데이타 및 제어 영역을 포함하는 제2메모리를 구비하며, 상기 제2제어 유닛은 데이타 프레임을 상기 버스로 전송시키기 위해 데이타를 상기 전송 버퍼 영역에 적재시키고 상기 제2코-프로세서를 세팅시켜 데이타 프레임의 전송을 개시하며, 상기 데이타 프레임은 상기 제2제어 유닛에 의해 상기 전송 버퍼 영역에 적재된 데이타를 포함하는 제l항에 있어서, 상기 버스상으로 전송되는 데이타를 저장하는 상기 제2메모리의 상기 데이타 및 제어 영역내의 실제 위치를 판정하는 단계와, 판정 단계에서 판정된 상기 데이타 및 제어 영역의 상기 실제 위치에 저장된 데이타를 포함하는 데이타 프레임을 상기 버스상으로 전송하기 위해 상기 제2코-프로세서를 세팅하는 단계와, 상기 제2코-프로세서로 상기 제2메모리의 상기 데이타 및 제어 영역의 상기 실제 위치에 있는 데이타를 포함하는 데이타 프레임을 전송하는 단계와, 상기 전송 버퍼 영역으로 부터의 데이타를 포함하는 데이타 프레임을 전송하기 위해 상기 제2코-프로세서를 리세팅하는 단계를 포함하는 것을 특징으로 하는 데이타 전송 방법.
  5. 전송되는 데이타의 프레임에 대한 저장 위치가 상기 제2메모리에 저장된 포인터에 의해 확인되는 제4항에 있어서, 상기 제2코-프로세서를 세팅시키는 단계를 상기 포인터를 상기 전송 버퍼 영역을 확인하는 값을 상기 제2메모리의 상기 데이타 및 제어 영역내의 상기 실재 위치를 확인하는 값으로 바꾸는 단계를 포함하고, 상기 제2코-프로세서를 리세팅하는 단계는 상기 포인터를 상기 실재 위치를 확인하는 값으로 부터 상기 전송 버퍼 영역을 확인하는 값으로 바꾸는 단계를 포함하는 것을 특징으로 하는 데이타 전송 방법.
KR1019880700039A 1986-05-20 1987-04-24 데이타 전송 방법 KR950002709B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US06/865,269 US4727538A (en) 1986-05-20 1986-05-20 Information transfer method and arrangement
US865,269 1986-05-20
PCT/US1987/000980 WO1987007408A1 (en) 1986-05-20 1987-04-24 Information transfer method and arrangement

Publications (2)

Publication Number Publication Date
KR880701410A KR880701410A (ko) 1988-07-27
KR950002709B1 true KR950002709B1 (ko) 1995-03-24

Family

ID=25345093

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019880700039A KR950002709B1 (ko) 1986-05-20 1987-04-24 데이타 전송 방법

Country Status (7)

Country Link
US (1) US4727538A (ko)
EP (1) EP0308408B1 (ko)
JP (1) JPH01502708A (ko)
KR (1) KR950002709B1 (ko)
CA (1) CA1271821A (ko)
DE (1) DE3773386D1 (ko)
WO (1) WO1987007408A1 (ko)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4845609A (en) * 1986-07-25 1989-07-04 Systech Corporation Computer communications subsystem using an embedded token-passing network
US5136718A (en) * 1987-09-04 1992-08-04 Digital Equipment Corporation Communications arrangement for digital data processing system employing heterogeneous multiple processing nodes
US5367688A (en) * 1987-09-04 1994-11-22 Digital Equipment Corporation Boot system for distributed digital data processing system
US5007051A (en) * 1987-09-30 1991-04-09 Hewlett-Packard Company Link layer protocol and apparatus for data communication
US5170266A (en) * 1990-02-20 1992-12-08 Document Technologies, Inc. Multi-capability facsimile system
JPH0827705B2 (ja) * 1990-07-25 1996-03-21 インターナショナル・ビジネス・マシーンズ・コーポレイション アダプタ
JP3075809B2 (ja) * 1991-11-12 2000-08-14 株式会社東芝 データ伝送システムにおける受信データ転送制御装置
US5797041A (en) 1992-06-30 1998-08-18 Hitachi, Ltd. Communication control system utilizing a shared buffer composed of first and second descriptors which are managed by high and low level protocols
US5412782A (en) 1992-07-02 1995-05-02 3Com Corporation Programmed I/O ethernet adapter with early interrupts for accelerating data transfer
US5546543A (en) * 1993-03-26 1996-08-13 Digital Equipment Corporation Method for assigning priority to receive and transmit requests in response to occupancy of receive and transmit buffers when transmission and reception are in progress
GB9318014D0 (en) * 1993-08-31 1993-10-20 Texas Instruments Ltd Improvements in and relating to local area network adaptors
US6256313B1 (en) 1995-01-11 2001-07-03 Sony Corporation Triplet architecture in a multi-port bridge for a local area network
US5940597A (en) * 1995-01-11 1999-08-17 Sony Corporation Method and apparatus for periodically updating entries in a content addressable memory
US5764895A (en) * 1995-01-11 1998-06-09 Sony Corporation Method and apparatus for directing data packets in a local area network device having a plurality of ports interconnected by a high-speed communication bus
US5857075A (en) * 1995-01-11 1999-01-05 Sony Corporation Method and integrated circuit for high-bandwidth network server interfacing to a local area network
US5884040A (en) * 1995-01-11 1999-03-16 Sony Corporation Per-packet jamming in a multi-port bridge for a local area network
US5701338A (en) * 1995-04-11 1997-12-23 Dnb Dataware Sciences, Inc. Technologies Call box with keyboard communication
GB2301752B (en) * 1995-06-02 2000-03-29 Dsc Communications Control message transmission in telecommunications systems
GB2301737A (en) * 1995-06-02 1996-12-11 Dsc Communications Method of Transmitting Information in a Wireless Telecommunications System
GB2301735B (en) * 1995-06-02 1999-07-28 Dsc Communications Message handling in a telecommunications network
GB2301712B (en) * 1995-06-02 2000-02-23 Dsc Communications Integrated directional antenna
GB2301751B (en) * 1995-06-02 2000-02-09 Dsc Communications Control message transmission in telecommunications systems
US5745496A (en) * 1995-06-02 1998-04-28 Dsc Communications Corporation Apparatus and method of establishing a downlink communication path in a wireless telecommunications system
US5696766A (en) * 1995-06-02 1997-12-09 Dsc Communications Corporation Apparatus and method of synchronizing a transmitter in a subscriber terminal of a wireless telecommunications system
US5915216A (en) * 1995-06-02 1999-06-22 Dsc Communications Corporation Apparatus and method of transmitting and receiving information in a wireless telecommunications system
GB2301717B (en) * 1995-06-02 1999-08-11 Dsc Communications Network controller for monitoring the status of a network
US5742595A (en) * 1995-06-02 1998-04-21 Dsc Communications Corporation Processing CDMA signals
US5809093A (en) * 1995-06-02 1998-09-15 Dsc Communications Corporation Apparatus and method of frame aligning information in a wireless telecommunications system
US5778180A (en) * 1995-11-06 1998-07-07 Sun Microsystems, Inc. Mechanism for reducing data copying overhead in protected memory operating systems
GB9606834D0 (en) * 1996-03-30 1996-06-05 Int Computers Ltd Inter-processor communication
US6442168B1 (en) 1997-09-17 2002-08-27 Sony Corporation High speed bus structure in a multi-port bridge for a local area network
US6751225B1 (en) 1997-09-17 2004-06-15 Sony Corporation Port within a multi-port bridge including a buffer for storing routing information for data packets received in the port
US6301256B1 (en) 1997-09-17 2001-10-09 Sony Corporation Selection technique for preventing a source port from becoming a destination port in a multi-port bridge for a local area network
US6308218B1 (en) 1997-09-17 2001-10-23 Sony Corporation Address look-up mechanism in a multi-port bridge for a local area network
US6617879B1 (en) 1997-09-17 2003-09-09 Sony Corporation Transparently partitioned communication bus for multi-port bridge for a local area network
US6157951A (en) * 1997-09-17 2000-12-05 Sony Corporation Dual priority chains for data-communication ports in a multi-port bridge for a local area network
US6363067B1 (en) 1997-09-17 2002-03-26 Sony Corporation Staged partitioned communication bus for a multi-port bridge for a local area network
WO2001028179A2 (en) 1999-10-14 2001-04-19 Bluearc Uk Limited Apparatus and method for hardware implementation or acceleration of operating system functions
US6822959B2 (en) * 2000-07-31 2004-11-23 Mindspeed Technologies, Inc. Enhancing performance by pre-fetching and caching data directly in a communication processor's register set
US6950929B2 (en) * 2001-05-24 2005-09-27 Samsung Electronics Co., Ltd. Loop instruction processing using loop buffer in a data processing device having a coprocessor
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US8161197B2 (en) * 2003-12-19 2012-04-17 Broadcom Corporation Method and system for efficient buffer management for layer 2 (L2) through layer 5 (L5) network interface controller applications
US20050141434A1 (en) * 2003-12-24 2005-06-30 Linden Cornett Method, system, and program for managing buffers
US20050249228A1 (en) * 2004-05-05 2005-11-10 Linden Cornett Techniques for providing scalable receive queues
CN101192911B (zh) * 2006-11-23 2010-09-22 大唐移动通信设备有限公司 一种时分复用模式下传输数据的方法和系统
US7945745B2 (en) 2007-09-17 2011-05-17 General Electric Company Methods and systems for exchanging data
US7817027B2 (en) * 2007-11-14 2010-10-19 Ford Global Technologies, Llc Method and system for integrated media and vehicle seat belt monitoring
US8667254B1 (en) * 2008-05-15 2014-03-04 Xilinx, Inc. Method and apparatus for processing data in an embedded system
US8376015B2 (en) 2010-08-26 2013-02-19 Checkpoint Systems, Inc. Hand-held labeler with improved label roll lift mechanism
CN115484125A (zh) * 2022-08-26 2022-12-16 中国长城科技集团股份有限公司 串行通信方法、装置、计算机设备及可读存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4441162A (en) * 1981-04-22 1984-04-03 Pitney Bowes Inc. Local network interface with control processor & DMA controller for coupling data processing stations to common serial communications medium
US4654654A (en) * 1983-02-07 1987-03-31 At&T Bell Laboratories Data network acknowledgement arrangement
EP0150084B1 (en) * 1984-01-03 1991-05-29 Texas Instruments Incorporated Architecture for intelligent control of data communication adapters

Also Published As

Publication number Publication date
KR880701410A (ko) 1988-07-27
US4727538A (en) 1988-02-23
EP0308408B1 (en) 1991-09-25
CA1271821A (en) 1990-07-17
WO1987007408A1 (en) 1987-12-03
JPH0570344B2 (ko) 1993-10-04
DE3773386D1 (de) 1991-10-31
JPH01502708A (ja) 1989-09-14
EP0308408A1 (en) 1989-03-29

Similar Documents

Publication Publication Date Title
KR950002709B1 (ko) 데이타 전송 방법
JP3863912B2 (ja) データ伝送の自動開始装置
US5752078A (en) System for minimizing latency data reception and handling data packet error if detected while transferring data packet from adapter memory to host memory
US4543627A (en) Internal communication arrangement for a multiprocessor system
US4419728A (en) Channel interface circuit providing virtual channel number translation and direct memory access
US5630059A (en) Expedited message transfer in a multi-nodal data processing system
EP0427250B1 (en) Method and apparatus for exploiting communications bandwidth as for providing shared memory
US5317692A (en) Method and apparatus for buffer chaining in a communications controller
US5367646A (en) Universal device for coupling a computer bus to a controller of a group of peripherals
US4704717A (en) Receive message processor for a solicited message packet transfer system
US5754781A (en) Data transfer controller device for controlling data transferred by and among separate clusters
US5734918A (en) Computer system with an input/output processor which enables direct file transfers between a storage medium and a network
KR100311619B1 (ko) 분산처리 시스템에서 프로세서간 메시지 송수신 방법
JP3137197B2 (ja) マルチプロセッサシステム
KR20010095103A (ko) 데이터 블록 전송 방법 및 장치
JPS6298444A (ja) デ−タ通信方式
JPH0650488B2 (ja) 通信コントローラ
JP2848370B2 (ja) 通信回線監視装置
JP2738314B2 (ja) N+1冗長構成回線制御装置の切替方式
JP3524338B2 (ja) 記憶装置付きファブリックおよびこれの制御装置
JPH05268291A (ja) デ−タバッファ管理システム
JPH01232852A (ja) 通信制御システム
JPH07143133A (ja) メモリ共用多層プロトコル処理装置
JPH04370859A (ja) 上位装置と下位装置とにおけるデータの送受信方式
JPH01311350A (ja) チャネル・インターフェイス回路

Legal Events

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

Payment date: 20000226

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee