KR19990087389A - 응용 장치와 버스 구조 사이의 비동기 데이터 전달을 자동으로관리하기 위한 비동기 데이터 파이프 - Google Patents
응용 장치와 버스 구조 사이의 비동기 데이터 전달을 자동으로관리하기 위한 비동기 데이터 파이프 Download PDFInfo
- Publication number
- KR19990087389A KR19990087389A KR1019980706804A KR19980706804A KR19990087389A KR 19990087389 A KR19990087389 A KR 19990087389A KR 1019980706804 A KR1019980706804 A KR 1019980706804A KR 19980706804 A KR19980706804 A KR 19980706804A KR 19990087389 A KR19990087389 A KR 19990087389A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- packet
- transaction
- asynchronous
- asynchronous data
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/64—Hybrid switching systems
- H04L12/6418—Hybrid transport
-
- 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/10—Program control for peripheral devices
- G06F13/12—Program control for peripheral devices using hardware independent of the central processor, e.g. channel or peripheral processor
- G06F13/124—Program 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/128—Program 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40052—High-speed IEEE 1394 serial bus
- H04L12/40071—Packet processing; Packet format
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Bus Control (AREA)
Abstract
비동기 데이터 파이프(ADP)는, 버스 구조를 통해 응용 장치에 대한 비동기 데이터 전달 동작을 종결하기 위해 필요한 트랜잭션을 자동으로 생성한다. ADP는 응용 장치에 의해 프로그램되고 시작되는 레지스터 파일을 포함한다. 레지스터 파일은 버스 속도, 트랜잭션 라벨, 트랜잭션 코드, 목적지 노드 확인자, 목적지 옵셋 어드레스, 각 데이터 패킷의 길이, 패킷 카운터, 패킷 카운터 범프 필드, 제어 필드, 및 상태 필드를 포함한다. 데이터 전달 동작 도중에, ADP는 레지스터 파일 내의 정보를 형판으로 사용하여, 어드레스의 적절한 열을 통해 동작을 종결하기 위해 필요한 트랜잭션을 생성한다. 증가 특징이 불가능으로 되지 않고, 트랜잭션이 고정된 어드레스로 발생되지 않는다면, ADP는 각 데이터 패킷의 길이에 따라, 각 트랜잭션에 대한 목적지 옵셋 어드레스 필드 내의 값을 증가시킨다. 패킷 카운터는 생성되려 남아 있는 트랜잭션의 수를 나타낸다. 패킷 카운터 값은 데이터의 각 패킷이 전달된 후 감소한다. 응용 장치는 패킷 카운터 범프 필드에 기록함으로써 패킷 카운터 값을 증가시킬 수 있다. 멀티플렉서는, ADP로부터의 정보를 버스 구조상에 다중화시키기 위한 다중 ADP를 구비한 시스템 내에 포함된다. 디멀티플렉서는, 버스 구조로부터의 정보를 적절한 ADP로 향하게 하기 위한 다중 ADP를 구비한 시스템 내에 포함된다.
Description
IEEE 1394 표준("고성능 직렬 버스를 위한 P1394 표준" 초안 8.01vl, 1995년 6월 16일)은, 비동기 및 등시성 포맷의 데이터 전달을 모두 지원하는 값이 비싸지 않은 고속 직렬 버스 구조를 실현하기 위한 국제 표준이다. 등시성(isochronous) 데이터 전달은, 중요한 순간 사이의 시간 간격이 송신 및 수신 응용 장치 모두에서 동일한 지속 간격을 갖도록, 발생하는 실시간 전달이다. 등시성으로 전달된 데이터의 각 패킷(packet)은 자신의 시간 주기 내에서 전달된다. 데이터를 등시적으로 전달을 위한 이상적인 응용 장치의 예는 비디오 레코더로부터 텔레비전 세트를 향한 경우이다. 비디오 레코더는 영상과 음향을 기록하고, 데이터를 이산 덩어리 또는 패킷으로 저장한다. 그후, 비디오 레코더는, 텔레비전 세트에 의한 디스플레이를 위하여, 제한된 시간 기간을 통해 기록된 영상 및 음향을 나타내는 각 패킷을 상기 시간 기간 동안에 전달한다. IEEE 1394 표준의 버스 구조는 응용 장치 사이의 등시성의 데이터 전달을 위한 다중 채널을 제공한다. 6비트의 채널 번호는, 적절한 응용 장치에 의한 수신을 보장하기 위하여, 데이터와 함께 방송된다. 이것은 복수의 응용 장치가 버스 구조를 가로질러 동시에 등시성 데이터를 전달하도록 허용한다. 비동기 전달은, 가능한 신속하게 발생하고, 소스로부터의 데이터의 총량을 목적지에 전달하는, 종래의 데이터 전달이다.
IEEE 1394 표준은 디지털 장치를 상호 접속하기 위한 고속 직렬 버스를 제공하여, 범용 I/O 접속을 제공한다. IEEE 1394 표준은 응용 장치를 위한 디지털 인터페이스를 한정하고, 이에 의해 응용 장치가 디지털 데이터를 버스를 가로질러 전송하기 전에 아날로그 데이터로 변환할 필요성을 제거한다. 상응하게, 수신중인 응용 장치는 버스로부터 아날로그 데이터가 아닌 디지털 데이터를 수신할 것이고, 따라서 아날로그 데이터를 디지털 데이터로 변환할 필요가 없다. IEEE 1394 표준에 의해 요구되는 케이블은 이러한 장치를 연결하기 위해 사용되는 부피가 큰 다른 케이블과 비교하여 크기에서 매우 가늘다. 버스가 활성인 동안 IEEE 1394 버스로부터 장치가 부가되거나 제거될 수 있다. 장치가 이렇게 부가되거나 제거된다면, 버스는 자동적으로 현존하는 노드 사이에서 데이터를 전송하기 위하여 자신을 재구성한다. 노드는 버스 구조상에서 유일한 어드레스를 갖는 논리적인 존재로 간주된다. 각 노드는 확인 ROM, 제어 레지스터의 표준화된 세트 및 자신의 어드레스 공간을 제공한다.
IEEE 1394 표준은 도 1에 도시된 바와 같이 프로토콜을 한정한다. 이러한 프로토콜은 트랜잭션 층(12), 링크 층(14) 및 물리 층(16)에 연결된 직렬 버스 관리 블록(10)을 포함한다. 물리 층(16)은 장치 또는 응용 장치와 IEEE 1394 케이블 사이의 전기적 및 기계적인 접속을 제공한다. 물리 층(16)은 또한, IEEE 1394 버스에 접속된 모든 장치가 실제 데이터 전송 및 수신과 함께 버스에 억세스하는 것을 보장하기 위한 중재(arbitration)를 제공한다. 링크 층(14)은 비동기 및 등시성 데이터 패킷 운송 모두를 위한 데이터 패킷 전달 서비스를 제공한다. 이것은, 승인 프로토콜을 사용하는 비동기 데이터 운송과, 정시간(just-in-time) 데이터 전달을 위한 실시간 보장된 대역폭 프로토콜을 제공하는 등시성 데이터 운송 모두를 지원한다. 트랜잭션 층(12)은 판독, 기록 및 로크(lock)를 포함하는 비동기 데이터 전달을 종결시키기 위해 필요한 명령을 지원한다. 직렬 버스 관리 블록(10)은 등시성 데이터 전달을 관리하기 위한 등시성 소스 관리자를 포함한다. 직렬 버스 관리 블록(10)은 또한, 중재 타이밍을 최적화하는 형태로 직렬 버스의 전체적인 구성 제어와, 버스 상의 모든 장치를 위한 적절한 전기적인 출력의 보장과, 사이클 마스터의 할당과, 등시성 채널과 대역폭 자원의 할당, 및 에러의 기본적인 통지를 제공한다.
등시성 전달을 초기화하기 위하여, 응용 장치를 구성하고, 데이터의 전달을 위해 사용될 특정 채널을 결정하는 몇 가지 비동기 데이터 전달이 요구될 수 있다. 일단 채널이 결정되면, 송신 중인 응용 장치에서 데이터가 보내지기 전에 이를 저장하고, 수신중인 응용 장치에서 상기 데이터를 처리하기 전에 이를 저장하기 위하여, 버퍼가 사용된다. 일부 주변 장치의 실현에 있어서, 주변 장치가 많은 수의 비동기 트랜잭션을 사용하여 많은 양의 데이터를 전달하는 것이 바람직하다. 이들 트랜잭션을 신속하고 효율적으로 생성하기 위하여, 범용 CPU 또는 마이크로컨트롤러로 하여금 각 요구 패킷을 구성하도록 요구하는 것은 실용적이지 못하다.
필요한 것은, API와 응용 장치의 프로세서에 의한 통제를 요구함이 없이, 비동기 데이터 전달 동작을 종결하기 위하여 필요한 트랜잭션의 자동 생성을 제공하는 비동기 데이터 파이프(asynchronous data pipe)이다.
본 발명은 응용 장치(an application)와 버스 구조 사이의 데이터 전달 동작을 자동으로 관리하기 위한 분야에 관한 것이다. 특히, 본 발명은 응용 장치와 버스 구조 사이의 비동기 데이터 전달 동작을 종결(complete)하는데 필요한 트랜잭션(transactions)을 자동으로 생성하는 분야에 관한 것이다.
도 1은 IEEE 1394 표준에 의해 한정된 프로토콜을 도시하는 도면.
도 2는 본 발명에 따른 세 개의 비동기 데이터 파이프를 포함하는 링크 칩(a link chip)의 구성 블록도.
도 3은 각 비동기 데이터 파이프 내의 레지스터 파일을 도시하는 도면.
비동기 데이터 파이프(ADP : asynchronous data pipe)는 버스 구조 위에서 응용 장치를 위한 비동기 데이터 전달 동작을 종결하기 위해 필요한 트랜잭션을 자동으로 생성한다. ADP는 응용 장치에 의해 프로그래밍된 레지스터 파일을 포함한다. 레지스터 파일(register file)은 응용 장치로 하여금 데이터 전달 동작을 위한 필요 사항과 특성을 프로그램하도록 허용한다. 레지스터 파일은 버스 속도, 트랜잭션 라벨(transaction label), 트랜잭션 코드, 목적지 노드 확인자, 목적지 옵셋 어드레스, 각 데이터 패킷의 길이, 패킷 카운터(packet counter), 패킷 카운터 범프 필드(bump field), 제어 필드 및 상태 필드를 포함한다. 응용 장치에 의해 레지스터 파일이 프로그램되고 시작된 후, 트랜잭션 및 헤더를 생성하기 위한 형판(template)으로 레지스터 파일 내의 정보를 사용하여, ADP는 어드레스의 적절한 범위 위에서 데이터 전달 동작을 종결하기 위해 필요한 판독 및 기록 트랜잭션을 자동으로 생성한다. 증분 특성이 불가능하게 되지 않는 다면, 즉 트랜잭션이 단일의 어드레스에서 발생하려 하는 것을 나타낼 때, ADP는 각 데이터 패킷의 길이에 따라 각 트랜잭션을 위한 목적지 옵셋 어드레스 필드 내에서의 값을 자동으로 증가시킨다. 패킷 카운터 값은 생성되려 남아 있는 트랜잭션의 수를 나타낸다. 패킷 카운터 값은 데이터의 각 패킷이 전달된 후 감소된다. 패킷 카운터 범프 필드는 응용 장치로 하여금 패킷 카운터 범프 필드에 기록함으로써 패킷 카운터 값을 증가시키도록 허용한다.
다중 ADP는 다중 비동기 데이터 전달 동작을 관리하기 위한 시스템 내에 포함될 수 있다. 이러한 시스템에 있어서, 각 ADP는 자신의 유일한 트랜잭션 라벨 값 또는 값의 열(range of values)을 갖는다. 멀티플렉서는 ADP로부터의 트랜잭션과 데이터 패킷을 버스 구조상에 다중화시키기 위한 각 ADP에 접속된다. 디멀티플렉서는 또한, 트랜잭션 코드와 트랜잭션 라벨 값을 사용하여 버스 구조로부터의 신호와 데이터 패킷을 수신하고 이들을 적절한 ADP에 연결하기 위한 각 ADP에 접속된다.
본 발명에 따른 비동기 데이터 파이프는, 버스 구조를 통해 응용 장치로의 또한 응용 장치로부터의 비동기 데이터 전달을 실현하기 위해 필요한 비동기 트랜잭션을 자동으로 생성한다. 본 명세서에서 사용된 응용 장치는 응용 장치 또는 장치 구동기를 언급할 것이다. 데이터 전달 동작이 종결되는 버스 구조는 IEEE 1394 표준 버스 구조인 것이 바람직하다. 그러나, 당업자에게는 자명한 바와 같이, 본 발명의 비동기 데이터 파이프는 다른 형태의 버스 구조를 통한 데이터 전달을 관리하는데 있어서의 사용을 위하여 적용할 수도 있다. 응용 장치의 방향에서 비동기 데이터 파이프는, 하나 이상의 비동기 트랜잭션을 사용하여 응용 장치에 의해 제공된 로컬 데이터 버퍼 또는 FIFO와 버스 구조를 통한 어드레스의 열(a range of addresses) 사이에서의 임의의 양의 데이터를 전달하는 성능을 포함한다.
비동기 데이터 파이프는, 데이터 전달 동작이 종결되려 할 때 응용 장치에 의해 프로그램되는 레지스터 파일을 포함한다. 레지스터 파일은 응용 장치로 하여금, 트랜잭션이 생성되려 하는 버스 속도, 트랜잭션의 형태를 나타내는 트랜잭션 라벨 및 트랜잭션 코드, 전달이 구성되는 목적지 노드에 대한 확인자, 전달이 발생하는 개시 어드레스를 나타내는 목적지 옵셋 어드레스, 및 각 데이터 패킷의 길이를 포함하는, 데이터 전달 동작에 대한 특정 필요 사항을 프로그램하도록 허용한다. 레지스터 파일은 또한 생성되려는 나머지 패킷 수의 트랙을 유지하는 패킷 카운터, 응용 장치로 하여금 패킷 카운터를 증가시키도록 허용하는 패킷 카운터 범프 필드, 제어 필드 및 상태 필드를 포함한다. 비동기 데이터 파이프의 증분 특성은, 트랜잭션이 버스 구조를 가로질러 단일의 어드레스에서 발생되려 한다면, 응용 장치에 의해 턴-오프(turn off) 될 수 있다.
레지스터 파일이 응용 장치에 의해 프로그램되고 개시된 후, 비동기 데이터 파이프는, 적절한 열의 어드레스를 통해 데이터 전달 동작을 종결하는데 필요한 판독 또는 기록 트랜잭션을 자동으로 생성한다. 레지스터 파일 내의 정보는, 데이터 전달 동작을 종결하기 위한 필요한 트랜잭션 및 적절한 헤더를 생성하기 위하여, 비동기 데이터 파이프에 의해 형판으로 사용된다. 비동기 데이터 파이프는, 증분 특성이 불가능하게 되지 않는다면, 전달되는 패킷의 크기에 따라 각 트랜잭션에 대한 목적지 옵셋 어드레스 필드 내의 값을 자동으로 증가시킨다. 비동기 데이터 파이프가 요구되는 트랜잭션을 자동으로 생성하기 때문에, 시작하는 응용 장치에 의한 직접 프로세서 제어 또는 통제는 필요하지 않다. 이것은 응용 장치로 하여금, 본 발명에 따른 비동기 데이터 파이프가 데이터 전달 동작을 종결하는 동안, 다른 기능을 수행하고 다른 임무를 종결하도록 허용한다. 그러나, 레지스터 파일은, 응용 장치로 하여금 비동기 데이터 파이프에 의해 종결되려 남아 있는 트랜잭션의 수를 증가시키도록 허용하는, 패킷 카운터 범프 필드를 포함한다. 이러한 방법에 있어서, 비동기 데이터 파이프는, 필요하다면 데이터 전달 동작을 종결하는데 필요한 트랜잭션의 생성을 제어하는 성능을 구비한다.
시스템은 다중 비동기 데이터 전달 동작을 관리하기 위한 다중 비동기 데이터 파이프를 포함한다. 이러한 시스템에 있어서 멀티플렉서는, 버스 구조와, 비동기 데이터 파이프로부터의 트랜잭션과 데이터 패킷을 상기 버스 구조상에 다중화시키기 위한 각 비동기 데이터 파이프 사이에 접속된다. 디멀티플렉서는 또한, 버스 구조로부터 신호와 데이터 패킷을 수신하고, 이들을 적절한 비동기 데이터 파이프에 전달하기 위한 각 비동기 데이터 파이프에 접속된다. 디멀티플렉서는, 어느 비동기 데이터 파이프가 정보를 수신하려는 지를 결정하기 위하여, 트랜잭션 코드 및 트랜잭션 라벨 값을 사용한다. 시스템 내에서, 각 비동기 데이터 파이프는 자신의 유일한 트랜잭션 라벨 값 또는 값의 열을 구비한다.
본 발명에 따라 세 개의 비동기 데이터 파이프(ADP)를 포함하는 링크 회로가 도 2에 도시되었다. 양호한 실시예에 있어서, 링크 회로(10)는 단일의 집적 회로 또는 칩 위에 형성된다. 링크 회로(10)는 응용 장치(12 및 14)과 버스 구조(58) 사이의 링크를 제공한다. 응용 장치(12 및 14)은 모두 시스템 버스(16)에 접속된다. 시스템 버스(16)는 선입선출 데이터 버퍼(FIFOs : first-in first-out data buffers)(32, 34 및 36) 각각에 접속된다. 응용 장치(12 및 14)은 또한 모두 응용 장치 인터페이스 회로(18)에 접속된다. 응용 장치 인터페이스 회로(18)는 한 세트의 제어 레지스터(38), 각각의 비동기 데이터 파이프(20, 22 및 24), 및 링크 코어(a link core)(44)에 접속된다. 각각의 비동기 데이터 파이프(20, 22 및 24)는 레지스터 세트(26, 28 및 30)를 각각 포함한다. 각각의 FIFO(32, 34 및 36)는 비동기 데이터 파이프(20, 22 및 24) 중 적절한 하나에 대응한다. FIFO(32)는 비동기 데이터 파이프(20)에 접속된다. FIFO(34)는 비동기 데이터 파이프(22)에 접속된다. FIFO(36)는 비동기 데이터 파이프(24)에 접속된다. 제어 레지스터(38)는 또한 각각의 비동기 데이터 파이프(20, 22 및 24)에 접속된다. 각각의 비동기 데이터 파이프(20, 22 및 24)는 아웃 바운드(outbound) 데이터 전달 동작을 위하여 멀티플렉서(40)에 접속되고, 인바운드(inbound) 데이터 전달 동작을 위하여 디멀티플렉서(42)에 접속된다. 이러한 발표 내용의 목적을 위하여 아웃 바운드 데이터 전달은 응용 장치로부터 버스 구조로 향한 것이고, 인바운드 데이터 전달은 버스 구조로부터 응용 장치로 향한 것이다.
링크 코어(44)는 송신기(46), 수신기(48), 주기 타이머(50), 주기 모니터(52), CRC 에러 검사 회로(54) 및 버스 구조(58)에 물리적으로 인터페이스하기 위한 물리적인 인터페이스 회로(56)를 포함한다. 송신기(46)는 멀티플렉서(40), 주기 타이머(50), CRC 에러 검사 회로(54) 및 물리적인 인터페이스 회로(56)에 접속된다. 수신기(48)는 디멀티플렉서(42), 주기 모니터(52), CRC 에러 검사 회로(54) 및 물리적인 인터페이스 회로(56)에 접속된다. 주기 타이머(50)는 주기 모니터(52)에 접속된다. 물리적인 인터페이스 회로(56)는 버스 구조(58)에 접속된다.
도 2에 도시된 시스템은 세 개의 비동기 데이터 파이프(20, 22 및 24)를 포함한다. 시스템의 특정 요구 사항에 따라, 시스템이 임의의 수의 비동기 데이터 파이프(20, 22 및 24)로 실현될 수 있음은 당업자에게는 자명할 것이다. 각 비동기 데이터 파이프는 응용 장치를 위한 데이터 전달 동작을 자동으로 처리하기 위한 성능을 제공한다. 따라서, 다음의 설명으로부터 자명한 바와 같이, 시스템 내의 부가적인 비동기 데이터 파이프를 갖는 것은, 비동기 데이터 전달 동작을 동시에 종결하는 성능을 제공함으로써 시스템의 성능을 증가시킨다.
각 비동기 데이터 파이프는, 버스 구조(58)를 가로지르는 비동기 트랜잭션을 통해 전달되려는 응용 장치에 또한 상기 응용 장치로부터의 데이터에 대한 양방향 데이터 경로이다. 임의의 비동기 데이터 파이프 동작에 선행하여, 일부 외부 실체가 비동기 데이터 파이프 내의 레지스터 파일을 프로그램하여야만 한다. 이러한 외부 실체는 응용 장치 자체, 또는 시스템 내부의 일부 다른 지능 또는 상태 기기(intelligence or state machine)가 될 수 있다. 본 발명의 양호한 실시예에 있어서, 비동기 데이터 파이프의 레지스터 파일은 응용 장치에 의해 프로그램된다. 각 비동기 데이터 파이프는 아웃 바운드 데이터에 대한 필요한 헤더를 생성하는 능력을 포함하고, 형판으로서 레지스터 파일을 사용하여 인바운드 데이터로부터 헤더를 검사하고 분리한다.
비동기 데이터 파이프 레지스터 파일은, 이하에서 자세하게 설명되는 바와 같이, 버스 구조 개시 어드레스에 관련되는 데이터, 트랜잭션 형태 및 트랜잭션 크기를 포함한다. 양호한 실시예에 있어서, 트랜잭션 형태는, 쿼드렛 판독(quadlet read), 쿼드렛 기록(quadlet write), 블록 판독, 또는 블록 기록 중 임의의 하나이다. 트랜잭션 크기는 쿼드렛 트랜잭션의 경우 4 바이트이거나, 또는 블록 트랜잭션의 경우 블록 요구 크기이다.
비동기 데이터 파이프가 인에이블(enable)될 때, 레지스터 파일 내의 프로그램된 파라메터에 따른 비동기 트랜잭션을 사용하여 응용 데이터를 전달한다. 응용 장치로부터 버스 구조에 접속된 다른 노드로의 기록 트랜잭션의 경우에 있어서, 비동기 데이터 파이프는 FIFO 인터페이스에서 유효한 응용 데이터를 취하고, 적절한 헤더 정보를 링크 코어(44)에 의해 요구된 포맷으로 데이터에 부가하며, 상기 데이터를 멀티플렉서(40)를 통해 링크 코어(44)에 전달한다. 버스 구조에 접속된 다른 노드로부터 응용 장치로의 판독 트랜잭션의 경우에 있어서, 비동기 데이터 파이프는 적절한 판독 요구 패킷을 발행하고, 데이터가 수신될 때, 대응하는 판독 응답 패킷 내의 데이터를 FIFO 인터페이스를 통해 응용 장치에 전달한다. 판독 및 기록 트랜잭션 모두에 있어서, 비동기 데이터 파이프는, 링크 코어(44)에 의해 요구되는, 버스 구조의 특정 패킷 포맷으로 데이터를 구성한다. 비동기 데이터 파이프는 또한, 응용 장치의 요구를 종결하기 위해 필요한, 어드레스의 증가하는 열에 대한 트랜잭션의 어드레스 계산을 처리한다. 즉, 후속하는 트랜잭션은 버스 구조의 어드레스 공간 내에서 어드레스의 증가하는 열에서 어드레스 지정된다.
각 비동기 데이터 파이프에 대한 FIFO 인터페이스는, 비동기 데이터 파이프가 제어하는 데이터 경로 전용의 FIFO(32, 34 또는 36)에 직접 접속된다. 각 FIFO(32, 34 또는 36)는 단일의 비동기 데이터 파이프 전용이다. 각 비동기 데이터 파이프를 위한 링크 인터페이스는 멀티플렉서(40)와 디멀티플렉서(42)를 통해 링크 코어(44)에 접속된다. 각 비동기 데이터 파이프로부터 링크 코어(44)에 제공된 데이터는 링크 코어 기능에 의해 요구되는 포맷이다. 각 비동기 데이터 파이프는, 링크 코어 규격에 의해 한정된 포맷으로 되려는, 링크 코어(44)로부터 들어오는 데이터를 수신하도록 설계된다. 하나 이상의 비동기 데이터 파이프가 시스템 내에 포함된다면, 각 비동기 데이터 파이프는 멀티플렉서(40)와 디멀티플렉서(42)를 통해 링크 코어(44)에 접속된다.
링크 코어(44)로부터 비동기 데이터 파이프(20, 22 및 24)로 향하는 데이터는 디멀티플렉서(42)를 통과한다. 디멀티플렉서(42)는 데이터를 적절한 비동기 데이터 파이프에 전달하기 위하여 트랜잭션 코드와 트랜잭션 라벨을 사용한다. 디멀티플렉서(42)는, 패킷 헤더의 트랜잭션 코드 필드와 패킷 헤더의 트랜잭션 라벨 필드 내의 값을 사용하여, 응답 패킷을 버스 구조(58)로부터 적절한 비동기 데이터 파이프로 향하게 한다. 이후 적절한 비동기 데이터 파이프는 응답 패킷을 대응하는 요구 패킷에 부합시킨다.
디멀티플렉서(42)는, 패킷을 링크 코어(44)로부터 적절한 비동기 데이터 파이프에 전달할 때, 어떠한 정보도 변경하지 않는다. 링크 코어에 의해 생성된 모든 정보는 목적지 비동기 데이터 파이프에 보내진다. 비동기 데이터 파이프는, 링크 코어(44)로부터의 데이터가 응용 장치에 전달되기 전에, 이 데이터의 필요한 모든 처리를 수행할 것인데, 상기 데이터는 버스 구조에 대한 프로토콜에 의해 요구되는 헤더 정보를 분리하는 단계를 포함할 수 있다. 아웃 바운드 데이터에 대해, 비동기 데이터 파이프는, 링크 코어(44)에 의해 요구되는 적절한 형태가 되도록, 응용 장치로부터의 데이터를 준비한다. 각 비동기 데이터 파이프는 적절한 헤더 정보를 생성할 것이고, 응용 장치로부터의 데이터를 멀티플렉서(40)를 통해 링크 코어(44)에 보내기 전에, 상기 헤더 정보를 상기 데이터에 삽입시킨다.
모든 비동기 데이터 파이프(20, 22 및 24)에 대해, 링크 인터페이스는 데이터를, 링크 코어(44) 기능의 요구 사항에 호환되는 포맷으로 생성하고 소비한다. 기록 동작 도중에, 비동기 데이터 파이프(20, 22 및 24)는, 링크 코어(44)에 의해 요구되는 바와 같이, 요구되는 버스 구조의 특정 헤더 정보를 생성하고, 이 정보를 응용 장치로부터의 데이터에 삽입한다. 판독 동작 도중에, 비동기 데이터 파이프(20, 22 및 24)는, 링크 코어(44)로부터 비동기 데이터 파이프(20, 22 및 24) 중 하나로 이동하는 데이터를 위해 링크 코어(44)에 의해 제공된 포맷으로 상기 데이터를 수용한다. 즉, 링크 코어(44)로부터 적절한 비동기 데이터 파이프(20, 22 및 24)로 데이터를 변환하기 위하여, 데이터의 어떠한 처리도 필요하지 않다.
오직 하나의 비동기 데이터 파이프가 한 시스템 내에 포함될 때, 비동기 데이터 파이프는 링크 코어(44)에 직접 연결될 수 있다. 한 시스템 내에 다중 비동기 데이터 파이프가 존재할 때, 시스템은 비동기 데이터 파이프와 링크 코어(44) 사이에서 적절한 멀티플렉서(40)와 디멀티플렉서(42)를 포함하여야만 한다. 멀티플렉서(40)는, 다중 비동기 데이터 파이프(20, 22 및 24)의 링크 인터페이스에서 데이터를 취하여, 상기 데이터를 링크 코어(44)를 향해 다중화시키고, 이후 패킷 기초에 의한 한 패킷으로 버스 구조(58) 상에 다중화시킨다. 이러한 정보는 응용 장치를 전달함으로써 우선권 세트 내의 버스 구조로 향한다. 디멀티플렉서(42)는 패킷을 적절한 비동기 데이터 파이프(20, 22 또는 24)로 향하도록 하기 위하여, 버스 구조(58)로부터 수신된 각 패킷의 트랜잭션 코드 및 트랜잭션 라벨 필드 내의 값과, 비동기 응답 패킷 헤더의 트랜잭션 라벨 내의 값을 사용한다.
본 발명의 비동기 데이터 파이프는 대응하는 FIFO와 링크 코어(44) 사이의 양방향 데이터 경로이다. 대응하는 FIFO로부터 링크 코어(44)에 데이터를 전달할 때, 비동기 데이터 파이프는 적절한 헤더 정보를 형성하고, 최종 헤더와 응용 데이터를 링크 코어(44)에 보내기 전에 이를 데이터에 부가한다. 링크 블록은 버스 구조(58)를 가로질러 기록 동작을 생성하고 완결하기 위하여, 비동기 데이터 파이프에 의해 생성된 정보를 사용한다. 링크 코어(44)로부터 데이터를 FIFO에 보낼 때, 비동기 데이터 파이프는 판독 트랜잭션을 위한 적절한 헤더 정보를 생성한다. 비동기 데이터 파이프는 이러한 정보를 링크 코어(44)에 보내고, 상기 링크 코어(44)는 이후 버스 구조(58)를 가로질러 판독 요구를 전송한다. 이후의 시간에 응답 노드는 판독 응답 패킷을 복귀시킨다. 링크 코어(44)는, 적절한 비동기 데이터 파이프를 결정하기 위하여 트랜잭션 코드 및 트랜잭션 라벨 필드 내의 값을 사용하여, 이러한 응답 패킷을 검출하고, 이를 디멀티플렉서(42)에 전송하는데, 이후 상기 디멀티플렉서(42)는 상기 데이터를 판독 요구를 생성한 비동기 데이터 파이프로 향하게 한다. 이후 비동기 데이터 파이프는 패킷으로부터 헤더 정보를 분리하고 데이터를 대응하는 FIFO로 보낸다. 이후 응용 장치는 FIFO로부터의 데이터를 처리한다. 버스 구조(58)를 가로질러 보내질 판독 또는 기록 요구를 생성하는 것에 관계없이, 비동기 데이터 파이프는 응용 장치로부터 또는 응용 장치에 모든 데이터를 운송할 때까지 적절한 요구를 생성하는 것을 지속한다.
다중 비동기 데이터 파이프를 포함하는 시스템은 데이터 전달의 다중 줄거리를 동시에 유지할 수 있다. 후속적인 명령을 판독하거나 또는 상태 정보를 개시 응용 장치에 보고하면서 미디어 데이터를 전달할 수 있는 디스크 드라이브와 같은 삽입된 응용 장치에서 이러한 점은 특히 유용하다. 디멀티플렉서(42)는 데이터를 적절히 각 비동기 데이터 파이프에 향하게 한다. 본 발명의 양호한 실시예에 있어서, 각 비동기 데이터 파이프는 고유한 트랜잭션 라벨 또는 트랜잭션 라벨의 열을 구비한다. 디멀티플렉서(42)는 트랜잭션 라벨 및 트랜잭션 코드 필드 내의 데이터에 따라 적절한 비동기 데이터 파이프를 결정한다.
각 비동기 데이터 파이프는, 이하에서 자세하게 설명되는 바와 같이, 전용 레지스터 파일을 구비한다. 레지스터 파일은, 응용 장치가 생성한 데이터 전달 동작과 같은 외부 정보에 의해 프로그램된다. 일단 레지스터 파일이 프로그램되면, 비동기 데이터 파이프는 어드레스의 증가하는 열 또는 버스 구조(58)를 가로지르는 고정된 어드레스에 대해 판독 및 기록 트랜잭션을 수행할 수 있다. 이러한 트랜잭션은 블록 또는 쿼드렛 크기가 될 수 있다. 데이터 전달 동작을 프로그래밍할 때, 응용 장치는 전달에 대한 전체 블록 카운트, 한 번에 하나의 카운트로 "범프"("bump") 블록 카운트, 또는 이들의 조합을 제공할 것이다. 전달에 대한 전체 블록 카운트가 프로그램되면, 비동기 데이터 파이프는, 응용 장치가 다른 동작을 수행하고 다른 임무를 종결하는 동안, 동작을 종결하기 위해 필요한 트랜잭션을 생성한다. 각 비동기 데이터 파이프는 버스 구조에 특정한 어드레스 포인터 내용을 유지하고, 블록 카운터가 0이 아닌 값을 가질 때마다 판독 또는 기록 트랜잭션을 수행한다.
각 비동기 데이터 파이프는, 시작한 응용 장치에 의해 프로그램되고, 버스 구조(58)를 가로질러 데이터 전달 동작을 종결하기 위해 필요한 적절한 트랜잭션을 생성하기 위해 사용되는, 전용 레지스터 파일을 필요로 한다. 각 비동기 데이터 파이프를 위해 필요하고, 본 발명의 양호한 실시예에 포함된 레지스터 파일은 도 3에 도시되었다. 레지스터 파일(80)은 16진법으로 0 내지 1F로 번호가 매겨진 32바이트의 데이터를 포함한다. 도 3에 있어서, 레지스터 파일(80)은 각각이 4바이트를 포함하는 8개 행의 테이블 포맷으로 도시되었다. 옵셋 열(82)은 레지스터 파일(80)의 시작 어드레스로부터 각 행의 시작 바이트의 옵셋을 나타내기 위해 도 3에 포함되었다. 판독/기록 열(84)은 또한 각 행 내의 필드가 판독 및 기록될 수 있는 지(RW) 또는 기록만 될 수 있는 지(W)를 나타내기 위하여 포함되었다.
속도 필드(sp)는 레지스터 파일(80)의 바이트 1 내의 2비트 필드이다. 속도 필드(sp)는 판독 및 기록될 수 있다. 속도 필드(sp)는 모든 요구 패킷이 생성될 버스 속도를 한정한다. 이 필드에 대한 기록 동작은 속도 필드(sp)내의 값을 갱신한다. 속도 필드(sp)에 대한 판독 동작은 이 필드에 기록된 최종 값을 복귀시킨다. 속도 필드 내의 값은, 모든 요구 패킷이 버스 구조(58)를 가로질러 생성될 속도를 나타내는 2비트 값이다. 이하의 표 1은 속도 필드(sp)내의 값에 대한 속도의 상관 관계를 한정한다.
값 | 버스 속도 |
0 | 100 Mbps |
1 | 200 Mbps |
10 | 400 Mbps |
11 | 예비 |
그러므로, 표 1에 도시된 바와 같이, 속도 필드(sp)내의 00의 값은 모든 요구 패킷이 100 Mbps로 생성되는 버스 속도를 한정하고, 01의 값은 요구 패킷을 200 Mbps로 생성하는 버스 속도에 대응하고, 10의 값은 요구 패킷을 400 Mbps로 생성하는 버스 속도에 대응한다.
트랜잭션 라벨 필드(t1)는 레지스터 파일(80)의 바이트 2 내의 6비트 필드이다. 트랜잭션 라벨 필드(t1)는 판독 및 기록될 수 있다. 트랜잭션 라벨 필드(t1)는 대응하는 비동기 데이터 파이프에 의해 생성된 모든 요구 패킷을 위해 사용할 트랜잭션 라벨의 값을 유지한다. 다른 실시예에 있어서, 단일의 비동기 데이터 파이프는 한 열의 트랜잭션 라벨을 관리한다. 이 필드에 대한 기록 동작은 트랜잭션 라벨 필드(t1) 내의 값을 갱신한다. 트랜잭션 라벨 필드(t1)에 대한 판독 동작은 이 필드에 기록된 최종 값을 복귀시킨다. 한 시스템 내에 하나 이상의 비동기 데이터 파이프가 존재한다면, 각 비동기 데이터 파이프는, 디멀티플렉서(42)가 응답 패킷을 적절하게 시작하는 비동기 데이터 파이프에 향하게 할 수 있도록, 트랜잭션 라벨 필드(t1) 내에서 고유한 값을 가져야만 한다.
양호한 실시예에 있어서, 레지스터 파일(80)의 바이트 2의 두 개의 최하위 비트는 둘 모두 논리적으로 낮은 전압 값으로 영구적으로 프로그램된다.
트랜잭션 코드 필드(tCode)는 레지스터 파일(80)의 바이트 3 내의 4비트 필드이다. 트랜잭션 코드 필드(tCode)는 판독 및 기록될 수 있다. 트랜잭션 코드 필드(tCode)는 대응하는 비동기 데이터 파이프에 의해 생성된 모든 요구 패킷을 위해 사용할 트랜잭션 코드를 유지한다. 이 필드에 대한 기록 동작은 트랜잭션 코드 필드(tCode) 내의 값을 갱신한다. 트랜잭션 코드 필드(tCode)에 대한 판독 동작은 이 필드에 기록된 최종 값을 복귀시킨다. 트랜잭션 코드 필드(tCode) 내의 값은 수행될 동작 형태를 나타내는 4비트 값이다. 트랜잭션 코드 필드(tCode) 내의 값과 수행될 동작의 형태 사이의 상관 관계는 이하의 표 2에 도시되었다.
tCode | 동 작 |
0 | 데이터 쿼드렛에 대한 기록 요구 |
1 | 데이터 블록을 위한 기록 요구 |
100 | 데이터 쿼드렛을 위한 판독 요구 |
101 | 데이터 블록을 위한 판독 요구 |
1001 | 로크 요구 |
트랜잭션 코드 필드(tCode)가 값 0000을 포함할 때, 수행될 데이터 전달 동작은 쿼드렛 기록 동작이다. 트랜잭션 코드 필드(tCode)가 값 0001을 포함할 때, 수행될 데이터 전달 동작은 블록 기록 동작이다. 트랜잭션 코드 필드(tCode)가 값 0100을 포함할 때, 수행될 데이터 전달 동작은 쿼드렛 판독 동작이다. 트랜잭션 코드 필드(tCode)가 값 0101을 포함할 때, 수행될 데이터 전달 동작은 블록 판독 동작이다. 트랜잭션 코드 필드(tCode)가 값 1001을 포함할 때, 수행될 데이터 전달 동작은 로크 동작이다.
양호한 실시예에 있어서, 레지스터 파일(80)의 바이트 3의 4 개의 최하위 비트는, 버스 구조를 위한 패킷 헤더 내의 예비 필드를 제공하기 위하여, 모두 논리적으로 낮은 전압 값으로 영구적으로 프로그램된다.
목적지 확인자 필드(destination_ID)는 레지스터 파일(80)의 바이트 4 및 5 내의 16비트 필드이다. 목적지 확인자 필드(destination_ID)는 판독 및 기록될 수 있다. 목적지 확인자 필드(destination_ID)는 16비트의 목적지 노드 확인자(ID)를 유지하는데, 상기 목적지 노드 확인자는 데이터 잔달 동작에 대해 대응하는 비동기 데이터 파이프에 의해 생성된 모든 요구 패킷과 함께 사용된다. 이 필드에 대한 기록 동작은 목적지 확인자 필드(destination_ID) 내의 값을 갱신한다. 목적지 확인자 필드(destination_ID)에 대한 판독 동작은 이 필드에 기록된 최종 값을 복귀시킨다. 목적지 확인자 필드(destination_ID) 내의 값은, 버스 구조(58)를 가로질러 데이터 전달 동작이 발생하는 노드를 나타낸다. 그러므로 버스 구조(58) 상의 각 노드는 고유한 목적지 확인자를 구비한다.
상위 목적지 옵셋 필드(destination_offset Hi)는 레지스터 파일(80)의 바이트 6 및 7 내의 16비트 필드이다. 상위 목적지 옵셋 필드(destination_offset Hi)는 판독 및 기록될 수 있다. 상위 목적지 옵셋 필드(destination_offset Hi)는 생성된 다음의 요구 패킷에 대해 사용할 목적지 옵셋 어드레스의 상위 16비트를 유지한다. 이 필드에 대한 기록 동작은 상위 목적지 옵셋 필드(destination_offset Hi) 내의 값을 갱신한다. 상위 목적지 옵셋 필드(destination_offset Hi)에 대한 판독 동작은 목적지 옵셋 어드레스의 상위 16비트의 현재 값을 복귀시킨다.
하위 목적지 옵셋 필드(destination_offset Lo)는 레지스터 파일(80)의 바이트 8 내지 B 내의 32비트 필드이다. 하위 목적지 옵셋 필드(destination_offset Lo)는 판독 및 기록될 수 있다. 하위 목적지 옵셋 필드(destination_offset Lo)는 생성된 다음의 요구 패킷에 대해 사용할 목적지 옵셋 어드레스의 하위 32비트를 유지한다. 이 필드에 대한 기록 동작은 하위 목적지 옵셋 필드(destination_offset Lo) 내의 값을 갱신한다. 하위 목적지 옵셋 필드(destination_offset Lo)에 대한 판독 동작은 목적지 옵셋 어드레스의 하위 32비트의 현재 값을 복귀시킨다. 상위 목적지 옵셋 필드(destination_offset Hi)와 하위 목적지 옵셋 필드(destination_offset Lo)는 공동으로 현재의 트랜잭션이 생성되는 48비트의 목적지 옵셋 어드레스를 형성한다. 이하에서 논의될, 제어 필드 내의 증가하지 않는 플래그(flag)가 논리적으로 낮은 전압 레벨이라면, 비동기 데이터 파이프는, 상위 목적지 옵셋 필드(destination_offset Hi)와 하위 목적지 옵셋 필드(destination_offset Lo)를 포함하는 전체 48 비트 목적지 옵셋 필드를, 각 판독 또는 기록 트랜잭션이 생성된 후 데이터 길이 필드 내의 값만큼 증가시킨다.
데이터 길이 필드(data_length)는 레지스터 파일(80)의 바이트 C 및 D 내의 16비트 필드이다. 데이터 길이 필드(data_length)는 판독 및 기록될 수 있다. 데이터 길이 필드(data_length)는 대응하는 비동기 데이터 파이프에 의해 생성된 모든 요구 패킷의 크기를 바이트로 유지한다. 이 필드에 대한 기록 동작은 데이터 길이 필드(data_length) 내의 값을 갱신한다. 데이터 길이 필드(data_length)에 대한 판독 동작은 이 필드에 기록된 최종 값을 복귀시킨다. 데이터 길이 필드(data_length) 내의 값은, 이하의 표 3에 한정된 바와 같이, 레지스터 파일(80)의 다른 필드 내의 값에 기초하여, 일부 제한을 받는다.
동 작 | tCode | extended_tCode | sp | 허용된data_length값 (byte) |
쿼드렛 판독/쿼드렛 기록 | 100/0000 | 0 | - | - |
블록 판독/블록 기록 | 101/0001 | 0 | 0 | 1 내지 512 |
블록 판독/블록 기록 | 101/0001 | 0 | 1 | 1 내지 1024 |
블록 판독/블록 기록 | 101/0001 | 0 | 10 | 1 내지 2048 |
mask_swap | 1001 | 1 | - | 8 또는 16 |
compare_swap | 1001 | 2 | - | 8 또는 16 |
fetch_add | 1001 | 3 | - | 4 또는 8 |
little_add | 1001 | 4 | - | 4 또는 8 |
bounded_add | 1001 | 5 | - | 8 또는 16 |
wrap_add | 1001 | 6 | - | 8 또는 16 |
vendor_dependent | 1001 | 7 | - | - |
확장된 트랜잭션 코드 필드(extended_tCode)는 레지스터 파일(80)의 바이트 E 및 F 내의 16비트 필드이다. 확장된 트랜잭션 코드 필드(extended_tCode)는 판독 및 기록될 수 있다. 이 필드에 대한 기록 동작은 확장된 트랜잭션 코드 필드(extended_tCode) 내의 값을 갱신한다. 확장된 트랜잭션 코드 필드(extended_tCode)에 대한 판독 동작은 이 필드에 기록된 최종 값을 복귀시킨다. 확장된 트랜잭션 코드 필드(extended_tCode)는 록크 트랜잭션을 제외한 모든 트랜잭션에 대해 0의 값을 갖는다. 트랜잭션 코드 필드(tCode) 내의 값이 로크 요구임을 나타내는 1001의 값으로 설정된다면, 확장된 트랜잭션 코드 필드(extended_tCode)는 로크 트랜잭션에 대한 확장된 트랜잭션 코드 값을 유지한다.
패킷 카운터 필드는 시스템의 구성에 따라, 레지스터 파일(80)의 바이트 10-13 내의 8 내지 32 비트 필드이다. 패킷 카운터 필드는 판독 및 기록될 수 있다. 패킷 카운터 필드는 데이터 전달 동작을 종결하기 위하여 생성되려고 남아 있는 요구 패킷의 수를 유지한다. 이 필드에 대한 기록 동작은 패킷 카운터 필드 내의 값을 변화시킨다. 패킷 카운터 필드에 대한 판독 동작은 생성되려고 남아 있는 요구 패킷의 현재 패킷 카운트 값을 복귀시킨다. 패킷 카운터 필드 내의 값은 각 트랜잭션이 생성된 후 감소된다. 생성된 패킷 수의 제어를 종결하기 위하여, 패킷 카운터 필드는 그 값이 0일 때에만 기록되어야 한다.
패킷 카운터 범프 필드는 레지스터 파일(80)의 바이트 14-17 내의 기록만을 위한 바이트이다. 패킷 카운터 범프 필드가 기록될 때, 대응하는 비동기 데이터 파이프는 패킷 카운터 레지스터 내의 값을 증가시킨다. 패킷 카운터 범프 필드가 판독된다면, 복귀된 값은 예측될 수 없다. 이것은 시작하는 응용 장치로 하여금 현재의 데이터 전달 동작에 대해 생성된 부가적인 트랜잭션을 구비하도록 허용한다. 본 발명의 양호한 실시예에 있어서, 패킷 카운터 범프 필드에 대한 기록은, 패킷 카운터 필드가 0이 아닌 값을 포함할 때 패킷 카운터 필드 내의 값을 증가시키는 유일한 방법이다.
제어 필드는 레지스터 파일(80)의 바이트 18-1B 내의 32비트 필드이다. 제어 필드는 판독 및 기록될 수 있다. 제어 필드 내에서, 비트 0-29는 예비용이고, 비트 30은 증가하지 않는 제어 비트(non_incr)이며, 비트 31은 동작 제어 비트(go)이다. 동작 제어 비트(go)는, 비동기 데이터 파이프를 인에이블(enable)시키기 위하여 논리적으로 높은 전압 값으로 설정된다. 동작 제어 비트(go)를 논리적으로 낮은 전압 값으로 소거시키는 것은 곧바로, 또는 비동기 데이터 파이프가 현재 트랜잭션의 중간에 있다면 다음 트랜잭션의 경계에서, 또는 비동기 데이터 파이프를 곧바로 디스에이블(disable)시킨다. 따라서, 비동기 데이터 파이프는 동작 제어 비트(go)가 논리적으로 높은 전압 레벨로 설정될 때만 동작된다. 증가하지 않는 제어 비트(non_incr)는, 비동기 데이터 파이프로 하여금 고정되거나 또는 증가하지 않는 어드레스에 대한 모든 요구 패킷을 강제로 생성하게 하기 위하여, 논리적으로 높은 전압 레벨로 설정된다. 증가하지 않는 제어 비트(non_incr)가 논리적으로 낮은 전압 레벨과 동일할 때, 대응하는 비동기 데이터 파이프는 목적지 옵셋 값을 각 트랜잭션이 종결된 후 데이터 길이 필드(data_length) 내의 값만큼 증가시킨다.
상태 필드는 레지스터 파일(80)의 바이트 1C-1F 내의 32비트 필드이다. 상태 필드는 판독 및 기록될 수 있다. 상태 필드는 대응하는 비동기 데이터 파이프에 의해 생성된 요구 패킷으로부터 야기되는 응답 코드 및 최종 승인 코드를 유지한다. 상태 필드는 에러 필드, 응답 코드 필드, 승인 입력 필드 및 승인 출력 필드를 포함한다.
에러 필드는, 비동기 데이터 파이프로 하여금 동작을 정지하도록 야기하는 에러를 나타내는 비트를 포함하는 4비트 필드이다. 에러 필드는 동작 제어 비트(go)가 논리적으로 높은 전압 레벨로 설정될 때 소거된다. 에러 필드는, 동작 제어 비트(go)가 비동기 데이터 파이프에 의해 논리적으로 낮은 전압 레벨로 소거될 때, 유효하다. 표 4는 에러 필드 내의 가능한 값들과 이들의 의미 사이의 관계를 도시한다.
에러 값 | 의 미 |
0 | 에러 없음 |
1 | 불량 승인 코드 수신(요구 패킷에 대해) |
10 | 불량 승인 코드 송신(응답 패킷에 대해) |
100 | 분열 트랜잭션 타임아웃 |
1000 | 버스 리세트 발생 |
에러 필드 내의 0000의 값은 에러가 존재하지 않음을 나타낸다. 에러 필드 내의 0001의 값은, 이전에 송신된 요구 패킷에 대해 불량 승인 코드가 수신되었기 때문에 에러가 발생하였음을 나타낸다. 에러 필드 내의 0010의 값은, 응답 패킷에 대해 불량 승인 코드가 송신되었기 때문에 에러가 발생하였음을 나타낸다. 에러 필드 내의 0100의 값은, 에러가 분열 트랜잭션 타임아웃(split transaction time-out)에 의해 야기되었음을 나타낸다.
응답 코드 필드(rcode)는 수신된 최종 응답 코드 값을 유지하는 4비트 필드이다. 응답 코드 필드 내의 값은, 최종 트랜잭션이 통합된 트랜잭션으로 종결된 기록 트랜잭션이라면, 1111과 동일하게 된다.
승인 입력 필드는, 비동기 데이터 파이프에 의해 생성된 최종 요구 패킷에 따라 원격 노드로부터 수신된 최종 승인 신호를 유지하는 4비트 필드이다.
승인 입력 출력 필드는, 대응하는 비동기 데이터 파이프에 의해 생성된 요구 패킷에 대응하는 응답 패킷에 따라 비동기 데이터 파이프에 의해 생성된 최종 승인 신호를 유지하는 4비트 필드이다.
상태 필드에 대한 기록 동작은 필드 내의 값을 변화시킨다. 이 필드의 판독 동작은 비동기 데이터 파이프와 현재 데이터 전달 동작의 현재 상태를 복귀시킨다. 요구 패킷 또는 대응하는 응답 패킷 중 하나가 에러를 초래하면, 비동기 데이터 파이프는 먼저 임의의 추가 요구 패킷의 생성을 정지한다. 그후 비동기 데이터 파이프는, 응답 코드 필드(rcode), 승인 입력 필드(ack-in) 및 승인 출력 필드(ack-out)에 대한 값을 상태 필드 내로 래치(latch)한다. 이들 값을 상태 필드 내로 래치한 후, 비동기 데이터 파이프는, 현재의 데이터 전달 동작 도중에 에러 조건이 발생하였음을 응용 장치에 알리기 위하여, 응용 장치 인터페이스를 통해 응용 장치에 인터럽트 신호를 단정으로 한다(assert).
판독 동작
판독 동작을 처리하고, 버스 구조에 접속된 다른 노드로부터 데이터를 얻고, 데이터를 응용 장치에 전달할 때, 비동기 데이터 파이프는 형판으로서 레지스터 파일(80) 내의 정보를 사용하여, 적절한 판독 요구 패킷을 생성한다. 데이터가 그후 목적지 노드로부터 수신될 때, 디멀티플렉서(42)는, 트랜잭션 코드와 트랜잭션 라벨 필드 내의 값을 사용하여, 데이터를 적절한 비동기 데이터 파이프로 향하게 한다. 그후 비동기 데이터 파이프는 데이터 패킷으로부터 헤더 정보를 분리시키고, 데이터 패킷을 FIFO에 로드시키는데, 응용 장치는 상기 FIFO로부터 수신된 데이터를 처리할 수 있다.
활성일 때, 또한 버스 구조(58)로부터 데이터를 FIFO 인터페이스에 전달할 때, 각 비동기 데이터 파이프는 이하의 표 5에서 한정된 바와 같이, 데이터 수신 상태 머신(machine)으로서 동작한다.
while (Active ()) {if (RAM_Data ==0) /* 언로드할 데이터가 없다면 */continue; /* 활성 상태를 체크하는 루프 *//* 자유 공간을 구비하고 활성중 */AssertReq(); /* 요구를 단정으로 */while (!Ack() /* 승인 대기 */&& Active()); /* 활성중인 지 확인 */if (!Active()) /* 더 이상 활성이 아니라면 빠져나감 */break;AssertWord (); /* FIFO 인터페이스에서 워드를 단정으로 함 */DeAssertReq(); /* 요구 단정해제 */} |
FIFO 인터페이스는, 버스 구조 인터페이스에 동기가 맞추어진 클록 신호로, 비동기 데이터 파이프로부터 대응하는 FIFO 내로 향하는 데이터의 시간을 잰다. FIFO는 항상, 비동기 데이터 파이프로부터 유효할 때, 데이터의 워드를 수신할 상태이다. FIFO 내의 여유 공간이 없을 때 요구 신호가 단정이라면, FIFO 오버런(overrun)이 발생한다. 이것은 대응하는 비동기 데이터 파이프에 의해 검출되는 에러 조건을 생성한다. FIFO 오버런 조건이 발생할 때, FIFO가 소거되고 부가적인 데이터를 수신할 준비가 될 때까지 나머지 트랜잭션은 정지된다. 이러한 경우에 있어서, 상태 레지스터의 승인 출력 필드는 에러를 반영한다.
버스 구조로부터 데이터를 판독하기 위하여, 시작하는 응용 장치는 적절한 비동기 데이터 파이프를 위해 적절한 정보를 레지스터 파일 내에 프로그램한다. 100 Mbps, 200 Mbps 또는 400 Mbps 중 하나인, 사용될 버스 속도에 대한 적절한 값이 속도 필드(sp) 내에 프로그램된다. 사용될 버스 속도는 물리적인 인터페이스(56)의 성능 내에 포함되어야만 하고, 버스 구조(58)에 의해 지원되어야만 한다. 종결될 특정 트랜잭션을 위한 적절한 값은 트랜잭션 코드 필드(tCode)에 프로그램된다. 모든 요구 패킷에 대한, 버스 구조를 가로지르는, 목적지 노드의 확인자에 대응하는 적절한 값은 목적지 확인자 필드(destination_ID)에 프로그램된다.
시작하는 48 비트의 목적지 옵셋 값은 상위 및 하위 목적지 옵셋 필드(destination_offset Hi 및 destination_offset Lo)에 프로그램된다. 제어 필드 내에서 증가하지 않는 비트는 논리적으로 낮은 전압 레벨이라면, 목적지 옵셋 필드 내의 값은 각 요구 트랜잭션이 생성된 후 증가된다. 생성될 각 요구 패킷에 대한 바이트 수는 데이터 길이 필드(data_length)에 프로그램된다. 트랜잭션 코드 필드(tCode) 내의 값이 이 트랜잭션이 쿼드렛 판독 트랜잭션임을 나타내는 0100과 같다면, 데이터 길이 필드(data_length) 내의 값은 4와 같다. 트랜잭션 코드 필드(tCode) 내의 값이 이 트랜잭션이 블록 판독 트랜잭션임을 나타내는 0101과 같다면, 데이터 길이 필드(data_length) 내의 값은, 상술한 표 3에서 도시된 바와 같이, 프로그램된 버스 속도를 위해 허용될 수 있는 한 열의 수중의 적절한 값으로 프로그램된다. 종결될 동작이 판독 동작이고, 로크 트랜잭션이 아니기 때문에, 확장된 트랜잭션 코트 필드(extended_tCode) 내의 값은 0이 되도록 프로그램된다.
이 데이터 전달 동작을 종결하기 위해 생성되고 보내질 패킷 수는 패킷 카운터 필드 내에 프로그램된다. 응용 장치가 적절한 트랜잭션을 생성하기 위하여 패킷 카운터 범프 필드에 한 번에 하나씩 기록 하려한다면, 패킷 카운터 필드 내의 값은 초기에 0으로 프로그램될 수 있다. 제어 필드 내의 증가하지 않는 비트는, 모든 요구 패킷이 동일한 목적지 옵셋 어드레스에 보내지려 한다면, 논리적으로 동일한 높은 전압 레벨로 프로그램된다. 제어 필드 내의 증가하지 않는 비트는, 요구 패킷이 증가하는 열의 어드레스에 보내지려 한다면, 논리적으로 동일한 낮은 전압 레벨로 프로그램된다. 제어 필드 내의 동작 제어 비트(go)는, 비동기 데이터 파이프로 하여금 데이터 전달 동작을 종결하기 위해 필요한 적절한 트랜잭션의 생성을 시작하는 것을 가능케 하기 위하여, 논리적으로 동일하게 높은 전압 레벨로 프로그램된다.
제어 필드 내에서 동작 제어 비트(go)가 논리적으로 높은 전압 레벨로 설정될 때, 비동기 데이터 파이프는 활성 상태로 들어간다. 활성 상태에 있는 동안, 비동기 데이터 파이프는 표 6에서 한정된 바와 같은 판독 상태 머신에 따라 판독 요구 패킷을 생성한다.
while (Active ()) {if (packet_counter ==0) /* 송신할 어떠한 패킷도 없다면 */continue; /* 활성 상태를 확인하는 루프 */if (RAM_Free<data_length) /* 충분한 자유 공간을 갖지 않는다면 */&& (RAM_Data !=0) /* 또한 여전히 비어 있지 않다면 */continue; /* 활성 상태를 확인하는 루프 *//* 패킷을 위한 충분한 공간 확보 */Arbitrate (); /* 링크 코어에 억세스 */if (tCode == 4) /* 쿼드렛이라면 */SendHeaderRegs(12); /* 헤더 레지스터의 제1의 12 바이트를 송신 */else /* 그렇지 않고 블록이라면 */SendHeaderRegs(16); /* 헤더 레지스터의 제1의 16 바이트를 송신 *//* 여기에서 불량 승인을 처리할 필요가 있음을 주목 */GetData(data_length, /* 수신된 데이터를 버퍼 RAM에 위치시킴 */&RAM_Data, &RAM_Free /* 데이터가 도착함에 따라 이를 조정 *//* 여기에서 다시 rcode를 처리할 필요가 있음을 주목 */--packet_counter; /* 패킷 카운터를 감소 */if (!non_increment) /* 증가한다면 */destination_offset += data_length; /* 목적지를 증가시킴 */} |
어느 때라도, 시작하는 응용 장치는 패킷 카운터 범프 필드에 기록할 수 있고, 이에 의해 패킷 카운터 필드 내의 값을 1 만큼 증가시킨다. 비동기 데이터 파이프의 판독 상태 머신은, 표 6에서 한정된 바와 같이, 활성 비동기 데이터 파이프에 접속된 FIFO 내에서 한 패킷의 자유공간보다 더 큰공간이 존재할 때마다, 판독 요구 패킷을 생성한다. 비동기 데이터 파이프의 판독 상태 머신은 또한, 비동기 데이터 파이프에 대응하는 FIFO가 완전히 텅 빌 때마다, 판독 요구 패킷을 형성한다. 삽입된 응용 장치가, 데이터가 대응하는 FIFO로부터 충분히 빠르게 또한 충분히 짧은 잠복(latency)을 가지고 시간이 재어질(clocked) 것을 보장한다면, 비동기 데이터 파이프에 대응하는 FIFO의 크기는 레지스터 파일(80) 내에서 데이터 길이 필드(data_length) 내의 값에 의해 지정된 바이트 수보다 더 적을 수 있다.
비동기 데이터 파이프에 의해 생성된 각 판독 요구 패킷에 대해, 비동기 데이터 파이프는 목적지 노드가 대응하는 판독 요구 패킷을 생성한다고 예상한다. 디멀티플렉서는, 다중 비동기 데이터 파이프가 시스템 내에 포함될 때 패킷을 적절한 비동기 데이터 파이프로 향하게 하기 위하여, 판독 응답 패킷 내의 트랜잭션 코드(tCode)와 트랜잭션 라벨(tl)을 사용한다. 그후 수신하는 비동기 데이터 파이프는 헤더를 분리하고, 대응하는 FIFO 인터페이스에서 유효한 데이터 필드를 생성한다.
각 판독 요구 패킷이 생성된 후, 제어 필드 내의 증가하지 않는 비트가 논리적으로 높은 전압 레벨로 설정되지 않는다면, 비동기 데이터 파이프는, 다음 판독 요구 패킷의 생성에 대비하여 목적지 옵셋 어드레스 값을 데이터 길이 필드(data_length) 내의 값만큼 증가시킨다. 상기 표 6에서 한정된 판독 상태 머신에는 도시되지 않았지만, 대응하는 각 판독 요구 패킷에 대해 비동기 데이터 파이프는, 생성하는 각 기록 요구 패킷에 대한 승인 입력 필드와 응답 코드 필드(rcode)를 시험한다. 승인 입력 필드 또는 응답 코드 필드(rcode) 중 어느 한 쪽이 에러를 나타내거나, 또는 비동기 데이터 파이프가 일부 에러에 기인하여 응답 요구 패킷에 대한 불량 승인 코드 강제로 복귀시키게 된다면, 비동기 데이터 파이프는 곧바로 정지하고, 승인 코드와 응답 코드(rcode)를 레지스터 파일(80) 내의 비동기 데이터 파이프 상태 필드에 저장한다. 분열 트랜잭션에 대해, 비동기 데이터 파이프는 응답의 시간을 잰다. 요구 패킷과 대응하는 응답 패킷 사이에 100 밀리 초 이상이 경과되면, 비동기 데이터 파이프는 정지하고, 레지스터 파일(80)의 상태 필드 내의 한정된 상태 정보를 디스플레이한다.
기록 동작
기록 동작을 실행하고, 데이터를 시작하는 응용 장치로부터 버스 구조에 접속된 다른 노드에 보낼 때, 비동기 데이터 파이프는 형판으로서 레지스터 파일(80) 내의 정보를 사용하여 적절한 헤더를 생성한다. 그후, 헤더는 적절한 데이터 패킷에 부가되고, 헤더와 데이터 패킷 모두 링크 코어(44)에 의해 버스 구조(58) 상에 놓여진다. 증가하는 함수가 불가능하다면, 비동기 데이터 파이프는 목적지 옵셋 필드 내의 값을 증가시키고, 데이터의 다음 패킷에 대한 헤더를 생성한다. 각 트랜잭션이 생성된 후, 패킷 카운터 값은 감소한다. 이러한 처리는 패킷 카운터 필드 내의 값이 0과 같아질 때까지 반복된다.
활성일 때, 또한 데이터를 FIFO로부터 버스 구조(58)에 전달할 때, 비동기 데이터 파이프는 다음의 표 7에서 한정된 바와 같이 데이터 전달 상태 머신으로서 동작한다.
while (Active ()) {if (RAM_Free == 0) /* 자유 공간이 없다면 */continue; /* 활성 상태를 확인하는 루프 *//* 패킷을 위한 충분한 공간 확보 *//* 자유공간을 구비하고 활성 */AssertReq (); /* 요구를 단정으로 한다 */while(!Ack() /* 승인을 대기 */&& Active() ); /* 활성인 지를 확인 */if (!Active ()) /* 더 이상 활성이 아니라면 빠져나감 */break;LatchWord (); /* 워드를 래치 */DeAssertReq (); /* 요구를 단정해제 시킴 */} |
FIFO 인터페이스는 버스 구조 인터페이스에 동기가 맞추어진 클록으로 FIFO로부터 대응하는 비동기 데이터 파이프로의 데이터의 시간을 잰다. 비동기 데이터 파이프가 요구할 때, FIFO는 항상 유효한 데이터의 한 워드를 갖는다. FIFO 내의 데이터가 없을 때 요구 신호(Req)가 단정이라면, FIFO 언더런(underrun)이 발생한다. 이것은 에러를 생성하는데, 상기 에러는 대응하는 비동기 데이터 파이프에 의해 검출되어 처리된다. 응용 장치은, 버스 구조(58)를 가로질러 전달시키기 위하여 적절한 데이터가 FIFO에 저장되도록 보장한다. FIFO 언더런이 발생할 때, 나머지 트랜잭션은 FIFO가 보내질 부가적인 데이터를 구비할 때까지 정지된다.
데이터를 버스 구조(58)에 기록하기 위하여, 응용 장치는 적절한 비동기 데이터 파이프에 대하여 적절한 정보를 레지스터 파일 내에 프로그램한다. 100 Mbps, 200 Mbps 또는 400 Mbps 중 하나인, 사용될 버스 속도에 대한 적절한 값이 속도 필드(sp) 내에 프로그램된다. 사용될 버스 속도는 물리적인 인터페이스(56)의 성능 내에 포함되고, 버스 구조(58)에 의해 지원되도록 선택된다. 종결될 특정 트랜잭션을 위한 적절한 값은 트랜잭션 코드 필드(tCode)에 프로그램된다. 요구가 쿼드렛 기록 요구라면, 0000의 값이 트랜잭션 코드 필드(tCode)에 프로그램된다. 요구가 블록 기록 요구라면, 0001의 값이 트랜잭션 코드 필드(tCode)에 프로그램된다. 모든 요구 패킷에 대한, 버스 구조를 가로지르는, 목적지 노드의 확인자에 대응하는 적절한 값은 목적지 확인자 필드(destination_ID)에 프로그램된다.
시작하는 48 비트의 목적지 옵셋 값은 상위 및 하위 목적지 옵셋 필드(destination_offset Hi 및 destination_offset Lo)에 프로그램된다. 제어 필드 내에서 증가하지 않는 비트는 논리적으로 낮은 전압 레벨이라면, 레지스터 파일(80)의 목적지 옵셋 필드 내의 값은 각 요구 트랜잭션이 종결된 후 증가된다. 생성될 각 요구 패킷에 대한 바이트 수는 데이터 길이 필드(data_length)에 프로그램된다. 트랜잭션 코드 필드(tCode) 내의 값이 이 트랜잭션이 쿼드렛 기록 트랜잭션임을 나타내는 0000과 같다면, 데이터 길이 필드(data_length) 내의 값은 4와 같게 된다. 트랜잭션 코드 필드(tCode) 내의 값이 이 트랜잭션이 블록 기록 트랜잭션임을 나타내는 0001과 같다면, 데이터 길이 필드(data_length) 내의 값은, 상술한 표 3에서 도시된 바와 같이, 프로그램된 버스 속도를 위해 허용될 수 있는 한 열의 수중의 적절한 값으로 프로그램된다. 종결될 동작이 기록 동작이기 때문에, 확장된 트랜잭션 코트 필드(extended_tCode) 내의 값은 0이 되도록 프로그램된다.
이 트랜잭션을 종결하기 위해 생성되고 보내질 패킷 수는 패킷 카운터 필드 내에 프로그램된다. 응용 장치가 적절한 트랜잭션을 생성하기 위하여 패킷 카운터 범프 필드에 한 번에 하나씩 기록 하려한다면, 패킷 카운터 필드 내의 값은 초기에 0으로 프로그램될 수 있다. 제어 필드 내의 증가하지 않는 비트는, 모든 요구 패킷이 동일한 목적지 옵셋 어드레스에 보내지려 한다면, 논리적으로 동일한 높은 전압 레벨로 프로그램된다. 제어 필드 내의 증가하지 않는 비트는, 요구 패킷이 증가하는 열의 어드레스에 보내지려 한다면, 논리적으로 동일한 낮은 전압 레벨로 프로그램된다. 제어 필드 내의 동작 제어 비트(go)는, 비동기 데이터 파이프로 하여금 데이터 전달 동작을 종결하기 위해 필요한 적절한 트랜잭션의 생성을 시작하는 것을 가능케 하기 위하여, 논리적으로 동일하게 높은 전압 레벨로 프로그램된다.
레지스터 파일(80)의 제어 필드 내에서 동작 제어 비트(go)가 논리적으로 높은 전압 레벨로 설정될 때, 비동기 데이터 파이프는 활성 상태로 들어간다. 활성 상태에 있는 동안, 비동기 데이터 파이프는 다음의 표 8에서 한정된 바와 같은 기록 상태 머신에 따라 요구 패킷을 생성한다.
while (Active ()) {if (packet_counter ==0) /* 송신할 어떠한 패킷도 없다면 */continue; /* 활성 상태를 확인하는 루프 */if (RAM_Free<data_length) /* 충분한 자유 공간을 갖지 않는다면 */&& (RAM_Data !=0) /* 아직 채우지 않았음 */ |
continue; /* 활성 상태를 확인하는 루프 *//* 패킷을 위한 충분한 공간 확보 */Arbitrate (); /* 링크 코어에 억세스 */if (tCode == 0) /* 쿼드렛이라면 */SendHeaderRegs(12); /* 헤더 레지스터의 제1의 12 바이트를 송신 */else /* 그렇지 않고 블록이라면 */SendHeaderRegs(16); /* 헤더 레지스터의 제1의 16 바이트를 송신 */SendData(data_length, /* 버퍼 RAM으로부터 데이터 필드 송신 */&RAM_Data, &RAM_Free /* 데이터가 전달됨에 따라 이를 조정 */if (ack == pending) /* 승인 코드가 계류중이라면 */WaitResponse (); /* 응답 패킷을 대기 *//* 승인 코드와 불량 rcode를 처리할 필요가 있음을 주목 */--packet_counter; /* 패킷 카운터를 감소 */if (!non_increment) /* 증가한다면 */destination_offset += data_length; /* 목적지를 증가시킴 */} |
어느 때라도, 시작하는 응용 장치는 패킷 카운터 범프 필드에 기록하여, 패킷 카운터 필드 내의 값을 1 만큼 증가시킬 수 있다. 비동기 데이터 파이프의 기록 상태 머신은, 표 8에서 한정된 바와 같이, 활성 비동기 데이터 파이프에 접속된 FIFO 내에서 한 패킷의 데이터보다 더 큰 데이터가 존재할 때마다, 기록 요구 패킷을 생성한다. 비동기 데이터 파이프의 기록 상태 머신은 또한, 비동기 데이터 파이프에 대응하는 FIFO가 완전히 채워질 때마다, 기록 요구 패킷을 형성한다. 삽입된 응용 장치가 대응하는 FIFO에 충분히 빠르게 또한 충분히 짧은 잠복(latency)을 가지고 시간이 재어진다면, 비동기 데이터 파이프에 대응하는 FIFO의 크기는 레지스터 파일(80) 내에서 데이터 길이 필드(data_length) 내의 값에 의해 지정된 바이트 수보다 더 적을 수 있다.
각 기록 요구 패킷이 생성된 후, 제어 필드 내의 증가하지 않는 비트가 논리적으로 높은 전압 레벨로 설정되지 않는다면, 비동기 데이터 파이프는, 다음 판독 요구 패킷의 생성에 대비하여 목적지 옵셋 어드레스 값을 데이터 길이 필드(data_length) 내의 값만큼 증가시킨다. 상기 표 8에서 한정된 기록 상태 머신에는 도시되지 않았지만, 목적지 노드가 기록 응답 패킷을 생성한다면, 비동기 데이터 파이프는, 생성하는 각 기록 요구 패킷에 대한 승인 입력 필드와 응답 코드 필드(rcode)를 시험한다. 승인 입력 필드 또는 응답 코드 필드(rcode) 중 어느 한 쪽이 에러를 나타내거나, 또는 비동기 데이터 파이프가 일부 에러에 기인하여 기록 응답 패킷에 대한 불량 승인 코드를 강제로 복귀시키게 된다면, 비동기 데이터 파이프는 곧바로 정지하고, 승인 코드와 응답 코드(rcode)를 레지스터 파일(80) 내의 비동기 데이터 파이프 상태 필드에 저장한다. 분열 트랜잭션에 대해, 비동기 데이터 파이프는 응답의 시간을 잰다. 요구 패킷과 대응하는 응답 패킷 사이에 100 밀리 초 이상이 경과되면, 비동기 데이터 파이프는 정지하고, 레지스터 파일(80)의 상태 필드 내의 한정된 상태 정보를 디스플레이한다.
본 발명의 양호한 실시예에 있어서, 버스 구조(58)는 IEEE 1394 표준 버스 구조이다. 각 비동기 데이터 파이프는 따라서 IEEE 1394 표준에 의해 요구되는 포맷으로 트랜잭션, 헤더, 요구 및 응답을 생성한다. 당업자에게는 본 발명의 비동기 데이터 파이프가 다른 형태의 버스 구조 및 시스템에 사용될 수 있음은 자명할 것이다. 이러한 시스템에 있어서, 비동기 데이터 파이프는 특정 버스 구조에 대해 적절하게 트랜잭션, 헤더, 요구 및 응답을 생성하도록 적용된다.
본 발명은, 본 발명의 구성 및 동작 원리의 이해를 쉽게 하기 위하여 상세한 사항을 포함하는 특정 실시예에 관하여 설명되었다. 특정 실시예와 이들의 상세 사항에 대한 여기에서 이러한 인용은 첨부된 청구범위의 범주를 제한하려한 것은 아니다. 당업자에게는, 설명을 위해 선택된 실시예에서 본 발명의 사상과 범주를 벗어남이 없이 변형이 이루어질 수 있음은 자명할 것이다.
Claims (40)
- 버스 구조를 통해 응용 장치(application)에 또는 이로부터의 비동기 데이터 전달 동작을 자동으로 제어하기 위하여, 응용 장치와 버스 구조 사이를 접속하도록 구성된 비동기 데이터 파이프(asynchronous data pipe)에 있어서,a. 데이터 전달 동작을 고려하여 명령을 수신하기 위한 수단과,b. 상기 응용 장치와 상기 버스 구조에 접속된 노드 사이의 데이터 전달 동작을 종결하기 위해 필요한 트랜잭션(transaction)을 자동으로 생성하기 위한 수단을 포함하는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 1항에 있어서, 상기 응용 장치가 데이터 전달 동작을 고려하여 명령을 저장하는 레지스터 파일을 더 포함하는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 2항에 있어서, 상기 레지스터 파일은 상기 데이터 전달 동작을 종결하기 위해 필요한 트랜잭션을 생성하기 위한 형판(template)으로서 사용되는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 3항에 있어서, 상기 레지스터 파일 내의 상기 명령은 상기 버스 구조의 어드레스 공간 내의 목적지 어드레스, 전달될 데이터의 길이, 전달될 각 데이터 패킷의 길이 및 상기 전달 방향을 포함하는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 2항에 있어서, 데이터 버퍼에 접속되도록 구성된 통신 수단을 더 포함하는데, 상기 데이터 버퍼는, 상기 응용 장치에 데이터를 보내고 이로부터 데이터를 수신하기 위하여, 상기 비동기 데이터 파이프와 상기 응용 장치 사이에 접속되는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 5항에 있어서, 상기 버스 구조는 IEEE 1394 표준 버스 구조인 것을 특징으로 하는 비동기 데이터 파이프.
- 제 4항에 있어서, 상기 데이터 전달 동작을 종결하기 위해 필요한 상기 트랜잭션은, 각 트랜잭션이 생성될 때 상기 목적지 어드레스를 각 데이터 패킷의 길이만큼 증가시킴으로써, 어드레스의 증가하는 열로 생성되는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 4항에 있어서, 상기 데이터 전달 동작을 종결하기 위해 필요한 상기 트랜잭션은 고정된 어드레스로 생성되는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 4항에 있어서, 상기 레지스터 파일은 전달되려고 남아 있는 패킷 수를 나타내는 패킷 카운터 값을 더 포함하는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 9항에 있어서, 상기 응용 장치는 상기 레지스터 파일 내의 소정의 필드에 기록함으로써 상기 패킷 카운터 값을 자동으로 증가시키는 것을 특징으로 하는 비동기 데이터 파이프.
- 응용 장치와 버스 구조에 접속된 노드 사이의 기록 데이터 전달 동작을 관리하는 방법에 있어서,a. 상기 응용 장치로부터 기록 데이터 전달 동작을 고려하여 명령을 수신하는 단계와,b. 상기 응용 장치로부터 데이터의 한 패킷을 얻는 단계와,c. 데이터의 상기 패킷에 헤더를 부가하고, 데이터의 상기 패킷의 어드레스를 지정하는 단계와,d. 상기 헤더를 포함하는 데이터의 상기 패킷을 상기 버스 구조상에 전달하는 단계를 포함하는 것을 특징으로 하는 기록 데이터 전달 동작 관리 방법.
- 제 11항에 있어서, 상기 응용 장치로부터 수신된 상기 명령은 레지스터 파일에 저장되는 것을 특징으로 하는 기록 데이터 전달 동작 관리 방법.
- 제 12항에 있어서, 상기 명령은 목적지 어드레스, 전달될 데이터의 길이, 전달될 각 데이터 패킷의 길이 및 전달될 패킷 수를 나타내는 패킷 카운터 값을 포함하는 것을 특징으로 하는 기록 데이터 전달 동작 관리 방법.
- 제 13항에 있어서, 상기 레지스터 파일은, 데이터의 패킷을 상기 버스 구조상에 기록하기 위해 필요한 상기 트랜잭션을 생성하기 위한 형판으로서 사용되는 것을 특징으로 하는 기록 데이터 전달 동작 관리 방법.
- 제 14항에 있어서,e. 상기 목적지 어드레스를 데이터 패킷의 상기 길이만큼 증가시키는 단계와,f. 상기 패킷 카운터 값을 감소시키는 단계와,g. 상기 패킷 카운터 값이 0이 될 때까지 전달될 데이터의 각 패킷에 대해 단계 b 내지 단계 f를 반복하는 단계를 더 포함하는 것을 특징으로 하는 기록 데이터 전달 동작 관리 방법.
- 제 15항에 있어서, 데이터의 상기 패킷은 상기 응용 장치에 의해 로드된 데이터 메모리 버퍼로부터 얻어지는 것을 특징으로 하는 기록 데이터 전달 동작 관리 방법.
- 버스 구조에 접속된 노드와 응용 장치 사이의 판독 데이터 전달 동작을 관리하는 방법에 있어서,a. 상기 응용 장치로부터 판독 데이터 전달 동작을 고려하여 명령을 수신하는 단계와,b. 데이터의 패킷이 상기 노드로부터 상기 버스 구조상에 놓이도록 요구하기 위해 필요한 트랜잭션을 생성하는 단계와,c. 상기 버스 구조로부터 데이터의 상기 패킷을 얻는 단계와,d. 데이터의 상기 패킷으로부터 헤더 정보를 분리시키는 단계와,e. 상기 응용 장치에 대한 헤더 정보 없이, 데이터의 상기 패킷을 제공하는 단계를 포함하는 것을 특징으로 하는 판독 데이터 전달 동작의 관리 방법.
- 제 17항에 있어서, 상기 응용 장치로부터 수신된 명령은 레지스터 파일 내에 저장되는 것을 특징으로 하는 판독 데이터 전달 동작의 관리 방법.
- 제 18항에 있어서, 상기 명령은, 상기 데이터가 송신되는 노드의 어드레스를 나타내는 목적지 어드레스, 전달될 데이터의 길이, 전달될 각 데이터 패킷의 길이 및 전달될 패킷 수를 나타내는 패킷 카운터 값을 포함하는 것을 특징으로 하는 판독 데이터 전달 동작의 관리 방법.
- 제 19항에 있어서, 상기 레지스터 파일은, 상기 노드로부터 데이터의 패킷을 판독하기 위해 필요한 트랜잭션을 생성하기 위한 형판으로서 사용되는 것을 특징으로 하는 판독 데이터 전달 동작의 관리 방법.
- 제 20항에 있어서,f. 상기 목적지 어드레스를 데이터 패킷의 상기 길이만큼 증가시키는 단계와,g. 상기 패킷 카운터 값을 감소시키는 단계와,h. 상기 패킷 카운터 값이 0이 될 때까지, 전달될 데이터의 각 패킷에 대해 단계 b 내지 단계 g를 반복하는 단계를 더 포함하는 것을 특징으로 하는 판독 데이터 전달 동작의 관리 방법.
- 제 21항에 있어서, 데이터의 상기 패킷은 데이터 메모리 버퍼를 통해 상기 응용 장치에 제공되는 것을 특징으로 하는 판독 데이터 전달 동작의 관리 방법.
- 하나 이상의 응용 장치와 버스 구조 사이의 비동기 데이터 전달 동작을 관리하기 위한 장치에 있어서,a. 상기 하나 이상의 응용 장치와 상기 버스 구조 사이를 접속하도록 구성된 다수의 비동기 데이터 파이프로서, 이들 각각은i. 데이터 전달 동작을 고려하여 명령을 수신하기 위해 상기 응용 장치에 접속하도록 구성된 명령을 수신하는 수단과,ii. 상기 데이터 전달 동작을 종결하기 위하여 필요한 트랜잭션을 자동으로 생성하는 수단을 포함하는, 다수의 비동기 데이터 파이프와,b. 데이터를 상기 버스 구조상에 위시시키고, 상기 버스 구조로부터 데이터를 얻기 위하여 상기 버스 구조에 접속되도록 구성된 물리적인 버스 인터페이스와,c. 상기 비동기 데이터 파이프로부터 상기 버스 구조에 데이터 패킷을 전달하기 위해, 각 비동기 데이터 파이프와 상기 물리적인 버스 인터페이스 사이에 접속된 멀티플렉싱 회로와,d. 상기 버스 구조로부터 얻어진 데이터 패킷을 상기 비동기 데이터 파이프 중 적절한 하나로 향하게 하기 위하여, 각 비동기 데이터 파이프와 상기 물리적인 버스 인터페이스 사이에 접속된 디멀티플렉싱 회로를 포함하는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 23항에 있어서, 각 비동기 데이터 파이프는, 데이터 전달 동작을 고려하여 데이터와 명령이 저장되는 레지스터 파일을 더 포함하는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 24항에 있어서, 상기 데이터와 명령은 상기 응용 장치 중 하나에 의해 상기 레지스터 파일 내에 저장되는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 24항에 있어서, 상기 레지스터 파일은, 상기 버스 구조의 어드레스 공간 내의 목적지 어드레스, 전달될 데이터의 길이, 각 데이터 패킷의 길이 및 데이터 전달의 방향을 포함하는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 26항에 있어서, 상기 레지스터 파일은 상기 비동기 데이터 파이프에 대한 트랜잭션 라벨 값을 더 포함하고, 추가로 상기 비동기 데이터 파이프의 각각은 고유한 트랜잭션 라벨 값을 갖는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 26항에 있어서, 상기 레지스터 파일은 상기 비동기 데이터 파이프에 대한 트랜잭션 라벨 값의 한 열을 더 포함하고, 추가로 상기 비동기 데이터 파이프의 각각은 트랜잭션 라벨 값의 고유한 열을 갖는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 27항에 있어서, 상기 레지스터 파일은, 상기 데이터 전달 동작을 종결하기 위해 필요한 상기 트랜잭션을 생성하기 위한 형판으로서 사용되는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 29항에 있어서, 상기 디멀티플렉싱 회로는, 상기 데이터 패킷 내의 상기 트랜잭션 라벨 값에 의해 데이터 패킷이 향해야만 하는 적절한 비동기 데이터 파이프를 결정하는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 30항에 있어서, 상기 디멀티플렉싱 회로는, 상기 데이터 패킷 내의 상기 트랜잭션 라벨 값에 의해 기록 응답 패킷이 향해야만 하는 적절한 비동기 데이터 파이프를 결정하는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 30항에 있어서, 상기 전달 동작을 종결하기 위해 필요한 상기 트랜잭션은, 각 트랜잭션이 생성될 때 상기 목적지 어드레스를 각 데이터 패킷의 상기 길이만큼 증가시킴으로써, 어드레스의 증가하는 열로 생성되는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 30항에 있어서, 상기 전달 동작을 종결하기 위해 필요한 상기 트랜잭션은 고정된 어드레스로 생성되는 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- 제 30항에 있어서, 상기 버스 구조는 IEEE 1394 표준 버스 구조인 것을 특징으로 하는 비동기 데이터 전달 동작 관리 장치.
- IEEE 1394 표준 버스 구조를 통해 응용 장치에 또한 이로부터 비동기 데이터 전달 동작을 관리하기 위하여, 상기 응용 장치와 IEEE 1394 표준 버스 구조 사이를 접속하도록 구성된 비동기 데이터 파이프에 있어서,a. 레지스터 파일과,b. 상기 응용 장치로부터 데이터 전달 동작을 고려하여 명령을 수신하고, 상기 명령을 상기 레지스터 파일에 저장하기 위하여, 상기 레지스터 파일에 접속되고, 상기 응용 장치에 접속하도록 구성된 프로그래밍 회로와,c. 상기 레지스터 파일 내의 정보를 형판으로 사용하여 상기 데이터 전달 동작을 종결하기 위해 필요한 트랜잭션을 자동으로 생성하기 위하여, 상기 레지스터 파일에 접속된 자동 트랜잭션 생성 회로를 포함하는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 35항에 있어서, 상기 레지스터 파일은, 목적지 어드레스, 전달될 데이터의 길이, 전달될 각 데이터 패킷의 길이 및 상기 전달의 방향을 포함하는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 36항에 있어서, 상기 데이터 전달 동작을 종결하기 위해 필요한 상기 트랜잭션은 어드레스의 증가하는 열로 생성되는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 36항에 있어서, 상기 데이터 전달 동작을 종결하기 위해 필요한 상기 트랜잭션은 고정된 어드레스로 생성되는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 36항에 있어서, 상기 레지스터 파일은 전달될 나머지 패킷 수를 나타내는 패킷 카운터 값을 더 포함하는데, 상기 패킷 카운터 값은 데이터의 각 패킷이 전달된 후 감소되는 것을 특징으로 하는 비동기 데이터 파이프.
- 제 39항에 있어서, 상기 응용 장치는 상기 레지스터 파일 내의 소정의 필드에 기록함으로써 상기 패킷 카운터 값을 증가시키는 것을 특징으로 하는 비동기 데이터 파이프.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8/612,321 | 1996-03-07 | ||
US08/612,321 US6519268B1 (en) | 1996-03-07 | 1996-03-07 | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure |
US08/612,321 | 1996-03-07 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990087389A true KR19990087389A (ko) | 1999-12-27 |
KR100439539B1 KR100439539B1 (ko) | 2004-11-03 |
Family
ID=24452676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR10-1998-0706804A KR100439539B1 (ko) | 1996-03-07 | 1997-02-19 | 응용장치와버스구조사이의비동기데이터전달을자동으로관리하기위한비동기데이터파이프 |
Country Status (10)
Country | Link |
---|---|
US (4) | US6519268B1 (ko) |
EP (1) | EP0885418B1 (ko) |
JP (1) | JP4155413B2 (ko) |
KR (1) | KR100439539B1 (ko) |
AT (1) | ATE198237T1 (ko) |
AU (1) | AU2129997A (ko) |
CA (1) | CA2247341C (ko) |
DE (1) | DE69703732T2 (ko) |
TW (1) | TW381233B (ko) |
WO (1) | WO1997033230A1 (ko) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7577782B2 (en) * | 1996-02-02 | 2009-08-18 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
US6233637B1 (en) * | 1996-03-07 | 2001-05-15 | Sony Corporation | Isochronous data pipe for managing and manipulating a high-speed stream of isochronous data flowing between an application and a bus structure |
US6519268B1 (en) * | 1996-03-07 | 2003-02-11 | Sony Corporation | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure |
US6128669A (en) * | 1997-09-30 | 2000-10-03 | Compaq Computer Corporation | System having a bridge with distributed burst engine to decouple input/output task from a processor |
US5978858A (en) * | 1997-09-30 | 1999-11-02 | Compaq Computer Corporation | Packet protocol and distributed burst engine |
US6292844B1 (en) * | 1998-02-12 | 2001-09-18 | Sony Corporation | Media storage device with embedded data filter for dynamically processing data during read and write operations |
US6912566B1 (en) * | 1998-07-28 | 2005-06-28 | Siemens Aktiengesellschaft | Memory device and method for operating the memory device |
US6505255B1 (en) | 1999-04-29 | 2003-01-07 | Mitsubishi Electric Information Technology Center America, Inc. (Ita) | Method for formatting and routing data between an external network and an internal network |
US6496862B1 (en) | 1998-08-25 | 2002-12-17 | Mitsubishi Electric Research Laboratories, Inc. | Remote monitoring and control of devices connected to an IEEE 1394 bus via a gateway device |
US6445711B1 (en) * | 1999-04-23 | 2002-09-03 | Sony Corporation | Method of and apparatus for implementing and sending an asynchronous control mechanism packet used to control bridge devices within a network of IEEE STD 1394 serial buses |
US6633547B1 (en) | 1999-04-29 | 2003-10-14 | Mitsubishi Electric Research Laboratories, Inc. | Command and control transfer |
US6378000B1 (en) | 1999-04-29 | 2002-04-23 | Mitsubish Electric Research Laboratories, Inc | Address mapping in home entertainment network |
US6523064B1 (en) | 1999-04-29 | 2003-02-18 | Mitsubishi Electric Research Laboratories, Inc | Network gateway for collecting geographic data information |
JP2001244952A (ja) * | 2000-02-29 | 2001-09-07 | Sony Corp | 通信制御装置 |
FR2813408B1 (fr) * | 2000-08-29 | 2006-08-04 | Canon Kk | Procedes de transfert de types multiples de donnees au sein d'un noeud de communication, et reseaux comportant un tel noeud |
US8370517B2 (en) * | 2001-09-27 | 2013-02-05 | International Business Machines Corporation | Conserving energy in a data processing network |
US7248568B1 (en) | 2002-02-26 | 2007-07-24 | Marvell International, Ltd. | Apparatus for detecting hidden nodes in a wireless network |
DE10302363A1 (de) * | 2003-01-22 | 2004-08-05 | Deutsche Thomson-Brandt Gmbh | Verfahren zum Betreiben eines Netzwerks von Schnittstellenknoten und Schnittstelleneinrichtung |
US7983142B2 (en) * | 2004-03-30 | 2011-07-19 | Intel Corporation | Apparatus, systems, and methods for the reception and synchronization of asynchronous signals |
DE102004045118A1 (de) * | 2004-09-17 | 2006-03-23 | Robert Bosch Gmbh | Verfahren und Vorrichtung zur Datenübertragung |
US8156220B1 (en) * | 2007-09-28 | 2012-04-10 | Emc Corporation | Data storage system |
US9063922B2 (en) | 2012-12-18 | 2015-06-23 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Firmware generated register file for use in hardware validation |
US10223407B2 (en) * | 2014-10-31 | 2019-03-05 | Cisco Technology, Inc. | Asynchronous processing time metrics |
US10073939B2 (en) | 2015-11-04 | 2018-09-11 | Chronos Tech Llc | System and method for application specific integrated circuit design |
US9977853B2 (en) | 2015-11-04 | 2018-05-22 | Chronos Tech Llc | Application specific integrated circuit link |
US11550982B2 (en) | 2015-11-04 | 2023-01-10 | Chronos Tech Llc | Application specific integrated circuit interconnect |
WO2017124012A1 (en) * | 2016-01-13 | 2017-07-20 | Locus-Control Llc | Low power communications system |
US10181939B2 (en) | 2016-07-08 | 2019-01-15 | Chronos Tech Llc | Systems and methods for the design and implementation of an input and output ports for circuit design |
US10637592B2 (en) * | 2017-08-04 | 2020-04-28 | Chronos Tech Llc | System and methods for measuring performance of an application specific integrated circuit interconnect |
CN109919359B (zh) * | 2019-02-01 | 2024-06-04 | 武汉天之然知识产权运营有限公司 | 一种基于adp算法的车辆路径规划方法 |
US11087057B1 (en) | 2019-03-22 | 2021-08-10 | Chronos Tech Llc | System and method for application specific integrated circuit design related application information including a double nature arc abstraction |
Family Cites Families (141)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2221629C3 (de) | 1972-05-03 | 1978-04-27 | Siemens Ag, 1000 Berlin Und 8000 Muenchen | Verfahren zur Synchronisierung in Zeitmultiplex-Übertragungssystemen |
US3906484A (en) | 1972-09-13 | 1975-09-16 | Westinghouse Electric Corp | Decoder input circuit for receiving asynchronous data bit streams |
NL7313756A (ko) | 1972-10-11 | 1974-04-16 | ||
US4067059A (en) | 1976-01-29 | 1978-01-03 | Sperry Rand Corporation | Shared direct memory access controller |
US4218756A (en) | 1978-06-19 | 1980-08-19 | Bell Telephone Laboratories, Incorporated | Control circuit for modifying contents of packet switch random access memory |
US4409656A (en) | 1980-03-13 | 1983-10-11 | Her Majesty The Queen, In Right Of Canada As Represented By The Minister Of National Defense | Serial data bus communication system |
US4395710A (en) | 1980-11-26 | 1983-07-26 | Westinghouse Electric Corp. | Bus access circuit for high speed digital data communication |
US4379294A (en) | 1981-02-12 | 1983-04-05 | Electric Power Research Institute, Inc. | Data highway access control system |
US4493021A (en) | 1981-04-03 | 1985-01-08 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Multicomputer communication system |
US4507732A (en) | 1981-10-05 | 1985-03-26 | Burroughs Corporation | I/O subsystem using slow devices |
US4633392A (en) | 1982-04-05 | 1986-12-30 | Texas Instruments Incorporated | Self-configuring digital processor system with logical arbiter |
GB8304950D0 (en) | 1983-02-22 | 1983-03-23 | Int Computers Ltd | Data communication systems |
US4897783A (en) | 1983-03-14 | 1990-01-30 | Nay Daniel L | Computer memory system |
US4857910A (en) | 1983-12-19 | 1989-08-15 | Pitney Bowes Inc. | Bit-map CRT display control |
US4739323A (en) | 1986-05-22 | 1988-04-19 | Chrysler Motors Corporation | Serial data bus for serial communication interface (SCI), serial peripheral interface (SPI) and buffered SPI modes of operation |
EP0267974B1 (en) | 1986-11-14 | 1992-02-19 | International Business Machines Corporation | Control interface for transferring data between a data processing unit and input/output devices |
US4972470A (en) | 1987-08-06 | 1990-11-20 | Steven Farago | Programmable connector |
US4998245A (en) * | 1987-12-17 | 1991-03-05 | Matsushita Electric Industrial Co., Ltd. | Information transmission system having collective data transmission and collection devices |
US5005151A (en) | 1988-05-13 | 1991-04-02 | Dallas Semiconductor Corporation | Interleaved arbitration scheme for interfacing parallel and serial ports to a parallel system port |
US5140679A (en) | 1988-09-14 | 1992-08-18 | National Semiconductor Corporation | Universal asynchronous receiver/transmitter |
US5008879B1 (en) | 1988-11-14 | 2000-05-30 | Datapoint Corp | Lan with interoperative multiple operational capabilities |
US5359713A (en) | 1989-06-01 | 1994-10-25 | Legato Systems, Inc. | Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system |
JPH03123232A (ja) | 1989-10-06 | 1991-05-27 | Matsushita Electric Ind Co Ltd | データ伝送制御処理方法 |
JPH03156554A (ja) | 1989-11-14 | 1991-07-04 | Hitachi Ltd | データ転送制御方式 |
FR2658971B1 (fr) | 1990-02-23 | 1995-07-28 | Europ Rech Electr Lab | Procede de traitement des donnees numeriques de controle associees a un signal video de type hd-mac et dispositif pour la mise en óoeuvre du procede. |
EP0447145B1 (en) | 1990-03-12 | 2000-07-12 | Hewlett-Packard Company | User scheduled direct memory access using virtual addresses |
US5325510A (en) | 1990-05-25 | 1994-06-28 | Texas Instruments Incorporated | Multiprocessor system and architecture with a computation system for minimizing duplicate read requests |
US5343469A (en) | 1990-06-14 | 1994-08-30 | Nec Corporation | Communication system and communication devices having lock function |
US5546553A (en) | 1990-09-24 | 1996-08-13 | Texas Instruments Incorporated | Multifunctional access devices, systems and methods |
US5307491A (en) | 1991-02-12 | 1994-04-26 | International Business Machines Corporation | Layered SCSI device driver with error handling circuit providing sense data from device directly to the driver on the occurrence of an error |
DE4129205A1 (de) | 1991-03-28 | 1992-10-01 | Bosch Gmbh Robert | Verfahren zum aufbau von botschaften fuer den datenaustausch und/oder fuer die synchronisation von prozessen in datenverarbeitungsanlagen |
US5369773A (en) | 1991-04-26 | 1994-11-29 | Adaptive Solutions, Inc. | Neural network using virtual-zero |
US5276684A (en) | 1991-07-22 | 1994-01-04 | International Business Machines Corporation | High performance I/O processor |
JP3243803B2 (ja) | 1991-08-28 | 2002-01-07 | ソニー株式会社 | Av機器 |
US5487153A (en) | 1991-08-30 | 1996-01-23 | Adaptive Solutions, Inc. | Neural network sequencer and interface apparatus |
DE69230093T2 (de) | 1991-11-19 | 2000-04-13 | International Business Machines Corp., Armonk | Multiprozessorsystem |
US5471632A (en) | 1992-01-10 | 1995-11-28 | Digital Equipment Corporation | System for transferring data between a processor and a system bus including a device which packs, unpacks, or buffers data blocks being transferred |
US5475860A (en) | 1992-06-15 | 1995-12-12 | Stratus Computer, Inc. | Input/output control system and method for direct memory transfer according to location addresses provided by the source unit and destination addresses provided by the destination unit |
US5497466A (en) | 1992-07-17 | 1996-03-05 | Texas Instruments Inc. | Universal address generator |
US5485594A (en) * | 1992-07-17 | 1996-01-16 | International Business Machines Corporation | Apparatus and method using an atomic fetch and add for establishing temporary ownership of a common system resource in a multiprocessor data processing system |
EP0588046A1 (en) | 1992-08-14 | 1994-03-23 | International Business Machines Corporation | IEEE standard 802.2 virtual device driver |
US5647057A (en) * | 1992-08-24 | 1997-07-08 | Texas Instruments Incorporated | Multiple block transfer mechanism |
US5499344A (en) | 1992-10-07 | 1996-03-12 | Texas Instruments Incorporated | Programmable dual port data unit for interfacing between multiple buses |
US5544324A (en) | 1992-11-02 | 1996-08-06 | National Semiconductor Corporation | Network for transmitting isochronous-source data using a frame structure with variable number of time slots to compensate for timing variance between reference clock and data rate |
EP0596648A1 (en) | 1992-11-02 | 1994-05-11 | National Semiconductor Corporation | Network link endpoint capability detection |
US5361261A (en) | 1992-11-02 | 1994-11-01 | National Semiconductor Corporation | Frame-based transmission of data |
US5550802A (en) | 1992-11-02 | 1996-08-27 | National Semiconductor Corporation | Data communication network with management port for isochronous switch |
EP0596651A1 (en) | 1992-11-02 | 1994-05-11 | National Semiconductor Corporation | Network for data communication with isochronous capability |
KR100305268B1 (ko) | 1992-11-02 | 2001-11-22 | 아담 씨. 스트리겔 | 스위칭메카니즘에서의등시(等時)데이타의국부루프백 |
KR940017376A (ko) | 1992-12-21 | 1994-07-26 | 오오가 노리오 | 송신 방법, 수신 방법, 통신 방법 및 쌍방향 버스 시스템 |
EP0607733A1 (en) | 1993-01-08 | 1994-07-27 | International Business Machines Corporation | Apparatus and method for data communications between nodes |
US5400340A (en) | 1993-03-04 | 1995-03-21 | Apple Computer, Inc. | End of packet detector and resynchronizer for serial data buses |
GB2275852B (en) | 1993-03-05 | 1997-02-26 | Sony Broadcast & Communication | Signal synchroniser with resynchronise control |
US5689678A (en) | 1993-03-11 | 1997-11-18 | Emc Corporation | Distributed storage array system having a plurality of modular control units |
US5509126A (en) | 1993-03-16 | 1996-04-16 | Apple Computer, Inc. | Method and apparatus for a dynamic, multi-speed bus architecture having a scalable interface |
US5412698A (en) | 1993-03-16 | 1995-05-02 | Apple Computer, Inc. | Adaptive data separator |
US5559967A (en) * | 1993-03-18 | 1996-09-24 | Apple Computer, Inc. | Method and apparatus for a dynamic, multi-speed bus architecture in which an exchange of speed messages occurs independent of the data signal transfers |
DE69321145T2 (de) | 1993-03-20 | 1999-06-02 | International Business Machines Corp., Armonk, N.Y. | Verfahren und vorrichtung zur herausarbeitung der vermittlungsinformation aus dem kopfteil eines protokolls |
DE4323405A1 (de) | 1993-07-13 | 1995-01-19 | Sel Alcatel Ag | Zugangskontrollverfahren für einen Pufferspeicher sowie Vorrichtung zum Zwischenspeichern von Datenpaketen und Vermittlungsstelle mit einer solchen Vorrichtung |
JP3373607B2 (ja) * | 1993-09-01 | 2003-02-04 | 富士通株式会社 | プロセッサの制御機構検証用命令列の自動生成方法及び装置 |
US5887145A (en) | 1993-09-01 | 1999-03-23 | Sandisk Corporation | Removable mother/daughter peripheral card |
US5444709A (en) | 1993-09-30 | 1995-08-22 | Apple Computer, Inc. | Protocol for transporting real time data |
US5446854A (en) | 1993-10-20 | 1995-08-29 | Sun Microsystems, Inc. | Virtual memory computer apparatus and address translation mechanism employing hashing scheme and page frame descriptor that support multiple page sizes |
US5682493A (en) | 1993-10-21 | 1997-10-28 | Sun Microsystems, Inc. | Scoreboard table for a counterflow pipeline processor with instruction packages and result packages |
CA2134061A1 (en) | 1993-10-28 | 1995-04-29 | Aaron William Ogus | Frame buffering of network packets |
JP3307085B2 (ja) * | 1993-12-10 | 2002-07-24 | ソニー株式会社 | 通信方法及び電子機器 |
US5835726A (en) | 1993-12-15 | 1998-11-10 | Check Point Software Technologies Ltd. | System for securing the flow of and selectively modifying packets in a computer network |
US5659780A (en) | 1994-02-24 | 1997-08-19 | Wu; Chen-Mie | Pipelined SIMD-systolic array processor and methods thereof |
DE69520378T2 (de) * | 1994-03-09 | 2001-10-31 | Matsushita Electric Industrial Co., Ltd. | Datenübertragungssystem und Verfahren |
US5465402A (en) | 1994-03-23 | 1995-11-07 | Uniden America Corp. | Automatic frequency transfer and storage method |
US5566174A (en) | 1994-04-08 | 1996-10-15 | Philips Electronics North America Corporation | MPEG information signal conversion system |
JP3129143B2 (ja) | 1994-05-31 | 2001-01-29 | 松下電器産業株式会社 | データ転送方法 |
DK0765501T3 (da) * | 1994-06-15 | 1999-09-27 | Thomson Consumer Electronics | Chipkort meddelelsesoverførsel uden indgreb af en mikroprocessor |
US5689244A (en) | 1994-06-24 | 1997-11-18 | Sony Corporation | Communication system and electronic apparatus |
JP3458469B2 (ja) | 1994-07-15 | 2003-10-20 | ソニー株式会社 | 信号受信装置及び通信方法 |
JP3203978B2 (ja) | 1994-07-25 | 2001-09-04 | ソニー株式会社 | データ送受信装置、データ受信装置及びデータ送信装置 |
US5706439A (en) | 1994-09-27 | 1998-01-06 | International Business Machines Corporation | Method and system for matching packet size for efficient transmission over a serial bus |
US5687316A (en) | 1994-07-29 | 1997-11-11 | International Business Machines Corporation | Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data |
US6205538B1 (en) * | 1994-08-24 | 2001-03-20 | Sun Microsystems, Inc. | Instruction result labeling in a counterflow pipeline processor |
JP3561969B2 (ja) | 1994-08-30 | 2004-09-08 | ソニー株式会社 | 編集方法及び編集制御機器 |
US5586264A (en) | 1994-09-08 | 1996-12-17 | Ibm Corporation | Video optimized media streamer with cache management |
US5668948A (en) | 1994-09-08 | 1997-09-16 | International Business Machines Corporation | Media streamer with control node enabling same isochronous streams to appear simultaneously at output ports or different streams to appear simultaneously at output ports |
US5603058A (en) | 1994-09-08 | 1997-02-11 | International Business Machines Corporation | Video optimized media streamer having communication nodes received digital data from storage node and transmitted said data to adapters for generating isochronous digital data streams |
US5548587A (en) | 1994-09-12 | 1996-08-20 | Efficient Networks, Inc. | Asynchronous transfer mode adapter for desktop applications |
US5617419A (en) * | 1994-09-20 | 1997-04-01 | International Business Machines Corporation | Adapting switch port and work station communication adapters to data frame types with disparate formats and data rates |
JP3371174B2 (ja) | 1994-09-22 | 2003-01-27 | ソニー株式会社 | パケット受信装置 |
US5619646A (en) | 1994-09-27 | 1997-04-08 | International Business Machines Corporation | Method and system for dynamically appending a data block to a variable length transmit list while transmitting another data block over a serial bus |
US5632016A (en) | 1994-09-27 | 1997-05-20 | International Business Machines Corporation | System for reformatting a response packet with speed code from a source packet using DMA engine to retrieve count field and address from source packet |
US5504757A (en) | 1994-09-27 | 1996-04-02 | International Business Machines Corporation | Method for selecting transmission speeds for transmitting data packets over a serial bus |
US5828903A (en) | 1994-09-30 | 1998-10-27 | Intel Corporation | System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer |
US5640592A (en) | 1994-09-30 | 1997-06-17 | Mitsubishi Kasei America, Inc. | System for transferring utility algorithm stored within a peripheral device to a host computer in a format compatible with the type of the host computer |
WO1996013776A1 (en) | 1994-10-31 | 1996-05-09 | Intel Corporation | M & a for exchanging data, status, and commands over a hierarchical serial bus assembly using communication packets |
US5602853A (en) * | 1994-11-03 | 1997-02-11 | Digital Equipment Corporation | Method and apparatus for segmentation and reassembly of ATM packets using only dynamic ram as local memory for the reassembly process |
US5704052A (en) | 1994-11-06 | 1997-12-30 | Unisys Corporation | Bit processing unit for performing complex logical operations within a single clock cycle |
US5664124A (en) | 1994-11-30 | 1997-09-02 | International Business Machines Corporation | Bridge between two buses of a computer system that latches signals from the bus for use on the bridge and responds according to the bus protocols |
KR0138964B1 (ko) | 1994-12-14 | 1998-06-15 | 김주용 | 데이타 포멧 변화기를 포함한 차분 펄스 코드 변조기 |
US5526353A (en) | 1994-12-20 | 1996-06-11 | Henley; Arthur | System and method for communication of audio data over a packet-based network |
US5533018A (en) | 1994-12-21 | 1996-07-02 | National Semiconductor Corporation | Multi-protocol packet framing over an isochronous network |
US5781780A (en) | 1994-12-22 | 1998-07-14 | Texas Instruments Incorporated | Power management supply interface circuitry, systems and methods |
US5835733A (en) | 1994-12-22 | 1998-11-10 | Texas Instruments Incorporated | Method and apparatus for implementing a single DMA controller to perform DMA operations for devices on multiple buses in docking stations, notebook and desktop computer system |
US5533021A (en) | 1995-02-03 | 1996-07-02 | International Business Machines Corporation | Apparatus and method for segmentation and time synchronization of the transmission of multimedia data |
CN100452072C (zh) * | 1995-02-13 | 2009-01-14 | 英特特拉斯特技术公司 | 用于管理在第一装置和第二装置之间的数字文档的分布的方法 |
US5559796A (en) | 1995-02-28 | 1996-09-24 | National Semiconductor Corporation | Delay control for frame-based transmission of data |
US5784712A (en) * | 1995-03-01 | 1998-07-21 | Unisys Corporation | Method and apparatus for locally generating addressing information for a memory access |
US5594732A (en) | 1995-03-03 | 1997-01-14 | Intecom, Incorporated | Bridging and signalling subsystems and methods for private and hybrid communications systems including multimedia systems |
US5519701A (en) | 1995-03-29 | 1996-05-21 | International Business Machines Corporation | Architecture for high performance management of multiple circular FIFO storage means |
JP3249334B2 (ja) | 1995-04-06 | 2002-01-21 | 株式会社東芝 | ディジタルインターフェース装置及びディジタルインターフェース方法 |
US5655138A (en) | 1995-04-11 | 1997-08-05 | Elonex I. P. Holdings | Apparatus and method for peripheral device control with integrated data compression |
FI98028C (fi) | 1995-05-03 | 1997-03-25 | Nokia Mobile Phones Ltd | Datasovitin |
US5761464A (en) | 1995-05-22 | 1998-06-02 | Emc Corporation | Prefetching variable length data |
US5793953A (en) * | 1995-07-07 | 1998-08-11 | Sun Microsystems, Inc. | Method and apparatus for allowing packet data to be separated over multiple bus targets |
US5841771A (en) * | 1995-07-07 | 1998-11-24 | Northern Telecom Limited | Telecommunications switch apparatus and method for time switching |
US5815678A (en) | 1995-07-14 | 1998-09-29 | Adaptec, Inc. | Method and apparatus for implementing an application programming interface for a communications bus |
US5606559A (en) | 1995-08-11 | 1997-02-25 | International Business Machines Corporation | System and method for an efficient ATM adapter/device driver interface |
US5787298A (en) | 1995-08-18 | 1998-07-28 | General Magic, Inc. | Bus interface circuit for an intelligent low power serial bus |
US5752076A (en) | 1995-08-31 | 1998-05-12 | Intel Corporation | Dynamic programming of bus master channels by intelligent peripheral devices using communication packets |
US5832492A (en) * | 1995-09-05 | 1998-11-03 | Compaq Computer Corporation | Method of scheduling interrupts to the linked lists of transfer descriptors scheduled at intervals on a serial bus |
US5692211A (en) | 1995-09-11 | 1997-11-25 | Advanced Micro Devices, Inc. | Computer system and method having a dedicated multimedia engine and including separate command and data paths |
US6122279A (en) * | 1995-10-02 | 2000-09-19 | Virata Limited | Asynchronous transfer mode switch |
US5701302A (en) | 1995-10-25 | 1997-12-23 | Motorola, Inc, | Method and apparatus for adaptively companding data packets in a data communication system |
US5751951A (en) | 1995-10-30 | 1998-05-12 | Mitsubishi Electric Information Technology Center America, Inc. | Network interface |
US5872569A (en) * | 1995-10-30 | 1999-02-16 | Xerox Corporation | Apparatus and method for programming and/or controlling output of a job in a document processing system |
US5970236A (en) | 1995-11-14 | 1999-10-19 | Compaq Computer Corporation | Circuit for selectively performing data format conversion |
US5812883A (en) | 1995-11-22 | 1998-09-22 | Mitsubishi Chemical America, Inc. | System for reading and storing formatting information after formatting a first storage medium and using the stored formatting information to format a second storage medium |
US5991520A (en) * | 1996-02-02 | 1999-11-23 | Sony Corporation | Application programming interface for managing and automating data transfer operations between applications over a bus structure |
US6631435B1 (en) * | 1996-02-02 | 2003-10-07 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
US7577782B2 (en) * | 1996-02-02 | 2009-08-18 | Sony Corporation | Application programming interface for data transfer and bus management over a bus structure |
US5799041A (en) | 1996-02-05 | 1998-08-25 | Xinex Networks Inc. | Network for multimedia asynchronous transfer mode digital signal transmission and components thereof |
US6233637B1 (en) * | 1996-03-07 | 2001-05-15 | Sony Corporation | Isochronous data pipe for managing and manipulating a high-speed stream of isochronous data flowing between an application and a bus structure |
US6519268B1 (en) * | 1996-03-07 | 2003-02-11 | Sony Corporation | Asynchronous data pipe for automatically managing asynchronous data transfers between an application and a bus structure |
US5828416A (en) | 1996-03-29 | 1998-10-27 | Matsushita Electric Corporation Of America | System and method for interfacing a transport decoder to a elementary stream video decorder |
US5761430A (en) | 1996-04-12 | 1998-06-02 | Peak Audio, Inc. | Media access control for isochronous data packets in carrier sensing multiple access systems |
WO1998002881A1 (fr) | 1996-07-15 | 1998-01-22 | Kabushiki Kaisha Toshiba | Appareil comportant une interface numerique, systeme de reseau mettant en oeuvre cet appareil et procede de protection contre la copie |
US5951019A (en) * | 1996-09-05 | 1999-09-14 | Centre For Engineering Research Inc. | Method of forming a metal-to-metal seal in high pressure applications with low contact stress |
US5832245A (en) | 1996-10-21 | 1998-11-03 | Advanced Micro Devices, Inc. | Method for isochronous flow control across an inter-chip bus |
US5761457A (en) | 1996-10-21 | 1998-06-02 | Advanced Micro Devices Inc. | Inter-chip bus with fair access for multiple data pipes |
US5774683A (en) | 1996-10-21 | 1998-06-30 | Advanced Micro Devices, Inc. | Interconnect bus configured to implement multiple transfer protocols |
US5835793A (en) | 1997-05-02 | 1998-11-10 | Texas Instruments Incorporated | Device and method for extracting a bit field from a stream of data |
US5938752C1 (en) * | 1997-05-20 | 2002-02-05 | Microsoft Corp | System and method for encapsulating legacy data transport protocols for ieee 1394 serial bus |
US6085270A (en) | 1998-06-17 | 2000-07-04 | Advanced Micro Devices, Inc. | Multi-channel, multi-rate isochronous data bus |
JP4318649B2 (ja) | 2005-02-01 | 2009-08-26 | 因幡電機産業株式会社 | コーナー用化粧カバー |
-
1996
- 1996-03-07 US US08/612,321 patent/US6519268B1/en not_active Expired - Lifetime
-
1997
- 1997-02-18 TW TW086101899A patent/TW381233B/zh not_active IP Right Cessation
- 1997-02-19 DE DE69703732T patent/DE69703732T2/de not_active Expired - Lifetime
- 1997-02-19 WO PCT/US1997/002546 patent/WO1997033230A1/en active IP Right Grant
- 1997-02-19 KR KR10-1998-0706804A patent/KR100439539B1/ko not_active IP Right Cessation
- 1997-02-19 AU AU21299/97A patent/AU2129997A/en not_active Abandoned
- 1997-02-19 CA CA002247341A patent/CA2247341C/en not_active Expired - Lifetime
- 1997-02-19 EP EP97906666A patent/EP0885418B1/en not_active Expired - Lifetime
- 1997-02-19 JP JP53178097A patent/JP4155413B2/ja not_active Expired - Lifetime
- 1997-02-19 AT AT97906666T patent/ATE198237T1/de not_active IP Right Cessation
-
2003
- 2003-01-16 US US10/346,657 patent/US7145921B2/en not_active Expired - Fee Related
-
2006
- 2006-08-31 US US11/514,751 patent/US7567590B2/en not_active Expired - Lifetime
-
2009
- 2009-06-19 US US12/488,338 patent/US7944952B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7944952B2 (en) | 2011-05-17 |
EP0885418B1 (en) | 2000-12-20 |
US20090268760A1 (en) | 2009-10-29 |
US20030123475A1 (en) | 2003-07-03 |
JP2000506295A (ja) | 2000-05-23 |
US6519268B1 (en) | 2003-02-11 |
WO1997033230A1 (en) | 1997-09-12 |
US20060291508A1 (en) | 2006-12-28 |
JP4155413B2 (ja) | 2008-09-24 |
AU2129997A (en) | 1997-09-22 |
US7567590B2 (en) | 2009-07-28 |
US7145921B2 (en) | 2006-12-05 |
TW381233B (en) | 2000-02-01 |
CA2247341A1 (en) | 1997-09-12 |
DE69703732T2 (de) | 2001-06-13 |
KR100439539B1 (ko) | 2004-11-03 |
DE69703732D1 (de) | 2001-01-25 |
CA2247341C (en) | 2008-11-04 |
EP0885418A1 (en) | 1998-12-23 |
ATE198237T1 (de) | 2001-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100439539B1 (ko) | 응용장치와버스구조사이의비동기데이터전달을자동으로관리하기위한비동기데이터파이프 | |
US6651119B2 (en) | Method for allocating priorities to plurality of DMA engines for processing data packets based on bus phase and transactions status | |
US6947442B1 (en) | Data transfer control device and electronic equipment | |
US6513085B1 (en) | Link/transaction layer controller with integral microcontroller emulation | |
US5594702A (en) | Multi-first-in-first-out memory circuit | |
US6347097B1 (en) | Method and apparatus for buffering received data from a serial bus | |
US20070180336A1 (en) | Multi-initiator control unit and method | |
US20030179719A1 (en) | Method and apparatus for transmitting packets at a transfer rate that depends on a response from a destination | |
US7430618B2 (en) | Data transfer control device and electronic equipment | |
KR100605657B1 (ko) | 수신된 데이터를 처리하는 방법 및 장치와, 하나 이상의 원격 디바이스로부터 데이터를 수신하는 수신 디바이스 | |
US7249204B2 (en) | Data transfer control device electronic equipment and method data transfer control | |
US20040057448A1 (en) | Information processing system, information processing apparatus, and information processing method | |
US6516371B1 (en) | Network interface device for accessing data stored in buffer memory locations defined by programmable read pointer information | |
US6041286A (en) | Apparatus for and method of accurately obtaining the cycle time of completion of transmission of video frames within an isochronous stream of data transmitted over an IEEE 1394 serial bus network | |
US6580711B1 (en) | Serial interface circuit and signal processing method of the same | |
JP4033915B2 (ja) | データストリーム制御方法及び装置 | |
US6421745B1 (en) | Asynchronous connections with scattering page tables for transmitting data from a producer device to a consumer device over an IEEE 1394 serial data bus | |
KR100464469B1 (ko) | 데이터 전송 제어 장치 및 전자기기 | |
US7346714B2 (en) | Notification of completion of communication with a plurality of data storage areas | |
US20040019712A1 (en) | Semiconductor device and method for controlling data transfer | |
US7167940B2 (en) | Data processing method, data processing apparatus, communications device, communications method, communications protocol and program | |
KR20010050416A (ko) | 포맷 정보를 저장하는 컨피규레이션 롬을 갖는 장치 |
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: 20130612 Year of fee payment: 10 |
|
FPAY | Annual fee payment |
Payment date: 20140612 Year of fee payment: 11 |
|
FPAY | Annual fee payment |
Payment date: 20150609 Year of fee payment: 12 |
|
FPAY | Annual fee payment |
Payment date: 20160617 Year of fee payment: 13 |
|
EXPY | Expiration of term |