KR100417839B1 - 컴퓨터 구성요소들 간의 개선된 인터페이스 방법 및 장치 - Google Patents

컴퓨터 구성요소들 간의 개선된 인터페이스 방법 및 장치 Download PDF

Info

Publication number
KR100417839B1
KR100417839B1 KR10-2001-7005542A KR20017005542A KR100417839B1 KR 100417839 B1 KR100417839 B1 KR 100417839B1 KR 20017005542 A KR20017005542 A KR 20017005542A KR 100417839 B1 KR100417839 B1 KR 100417839B1
Authority
KR
South Korea
Prior art keywords
interface
hub
packet
transaction
data
Prior art date
Application number
KR10-2001-7005542A
Other languages
English (en)
Other versions
KR20010092432A (ko
Inventor
아자노빅자스민
해리만데이비드제이.
Original Assignee
인텔 코오퍼레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인텔 코오퍼레이션 filed Critical 인텔 코오퍼레이션
Publication of KR20010092432A publication Critical patent/KR20010092432A/ko
Application granted granted Critical
Publication of KR100417839B1 publication Critical patent/KR100417839B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4208Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a system bus, e.g. VME bus, Futurebus, Multibus

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Systems (AREA)

Abstract

컴퓨터 시스템 내의 칩셋의 메모리 제어기 허브(204)와 입력/출력(I/O) 허브(206) 간에 데이터를 전송하기 위한 인터페이스가 기재되어 있다. 인터페이스의 일실시예는 양방향 데이터 신호 경로(202) 및 한쌍의 소스 동기 스트로브 신호를 포함한다. 데이터 신호 경로는 스플릿 트랜잭션을 통해 패킷으로 데이터를 전송한다. 추가로, 패킷은 필요에 따라 요구 패킷 및 완료 패킷을 포함한다. 또한, 일실시예에서, 요구 패킷은 트랜잭션 디스크립터를 포함한다.

Description

컴퓨터 구성요소들 간의 개선된 인터페이스 방법 및 장치{METHOD AND APPARATUS FOR AN IMPROVED INTERFACE BETWEEN COMPUTER COMPONENTS}
현대의 컴퓨터 시스템은 시스템 메모리(103)(즉, CPU/메모리 서브시스템)와 상호연결된 중앙 처리 유닛(CPU)(101)을 포함한다. 도1에 도시된 바와 같이, 데이터 및 다른 신호들은, 일반적으로 호스트 브릿지(105)라고 부르는 구성요소를 통해 CPU와 시스템 메모리 간에 전송된다. 호스트 브릿지(105)는 또한 컴퓨터 내의 다른 구성요소 및/또는 서브시스템을 CPU/ 메모리 서브시스템에 대한 인터페이스로 제공할 수 있다.
예를 들어, 도1에 역시 도시된 바와 같이, 주변 구성요소(예, 키보드(109), 디스크 드라이브(110) 및/또는 마우스(111))가 입력/출력(I/O) 브릿지(107)를 통해 서로 상호연결될 수 있다. 그리고, I/O 브릿지(107)는 주변장치와 CPU/메모리 서브시스템 간의 인터페이스를 제공하기 위해, 호스트 브릿지(105)와 상호연결될 수 있다.
그러나, 추가적인 외부 버스(예, PCI(Peripheral Component Interconnect) 버스(113))도 역시 I/O 브릿지(107)와 CPU/메모리 서브시스템 간의 인터페이스에 포함될 수 있다. 결과적으로, I/O 브릿지(107)와 CPU/메모리 서브시스템 간의 인터페이스는, I/O 브릿지(107)와 CPU/메모리 서브시스템 간의 인터페이스에 포함되는 외부 버스(113)(예, PCI)의 명세/필요에 의해 보다 복잡해지고 제한된다.
결과적으로, 주변 구성요소와 프로세서/메모리 서브시스템 간에 개선된 인터페이스의 필요성이 존재하게 된다.
본 발명은 컴퓨터 시스템 분야에 관한 것으로, 특히 컴퓨터 구성 요소들 간에 개선된 인터페이스를 제공하는 것에 관한 것이다.
본 발명은 제한이 아닌 예시를 위해 첨부된 도면의 구성으로 도시되고, 여기서 동일한 참조부호는 유사한 구성요소를 나타낸다.
도1은 종래 기술에 따른 컴퓨터 구성요소들 간의 인터페이스를 구현한 컴퓨터 시스템을 도시한 도면.
도2는 컴퓨터 구성요소들 간에 개선된 인터페이스를 구현한 컴퓨터 시스템의 일실시예의 블록도.
도3은 일실시예의 인터페이스로 구현된 스플릿 트랜잭션을 도시한 타이밍도.
도4는 컴퓨터 구성요소들 간의 다수의 개선된 인터페이스 계층을 구현한 컴퓨터 시스템의 일실시예를 도시한 블록도.
도5는 일실시예에 따른 데이터 패킷의 중재 및 전송을 도시한 타이밍도.
도6은 일실시예에 따른 데이터 패킷의 흐름 제어를 도시한 타이밍도.
도7은 일실시예에 따른 흐름 제어 동작에 대한 응답 단계를 설명하는 흐름도.
도8은 일실시예에 따른 물리적 신호 인터페이스를 도시한 도면.
도9는 일실시예에 따른 소스 동기 클러킹을 도시한 타이밍도.
도10은 일실시예에 따른 컴퓨터 구성요소들 간의 개선된 인터페이스를 구현한 다수의 프로세서를 가진 컴퓨터 시스템을 도시한 도면.
발명의 요약
본 발명은 컴퓨터 시스템 내의 개별의 허브들 간에 데이터를 전송하기 위한 인터페이스를 제공하는데, 이것은 스플릿 트랜잭션에 의하여 패킷으로 허브 간에 데이터를 송신하는 데이터 신호 경로를 포함한다. 일실시예에서, 데이터는 소스 동기 모드로 전송된다. 추가로, 일실시예에서, 데이터를 송신하기 위한 패킷은 필요에 따라 요구 패킷 및 완료 패킷을 포함한다. 또한, 일실시예에서, 패킷은 트랜잭션 디스크립터를 포함한다.
컴퓨터 구성요소들 간의 개선된 인터페이스가 기재되어 있다. 이 인터페이스는 여기서 허브 링크(hub link)로 언급될 것이다. 허브 링크는 좁고 높은 대역의인터페이스를 통해 코어 로직의 빌딩 블록(building block)을 연결하기 위한 인터페이스이다.
도2에 도시된 바와 같이, 일실시예의 허브 링크는 개별 구성요소들에게 포인트-투-포인트 인터페이스(point-to-point interface)를 제공한다. 그러나, 대안의 실시예에서, 허브 링크는 3개 또는 그 이상의 구성요소 간에 인터페이스를 제공할 수 있다.
보다 상세히 말하면, 도2는 칩셋 내에 2개의 분리된 구성요소(즉, 허브 에이전트)를 상호연결하는데 사용되는 허브 링크(204)의 일실시예를 도시하고 있다. 허브 에이전트는 2개 또는 그 이상의 분리 버스 및/또는 다른 타입의 통신 라인 간의 집중 연결을 제공한다.
예를 들어, 도2에 역시 도시된 바와 같이, 칩셋은 메모리 제어기 허브(MCH)(204) 및 입력/출력(I/O) 허브(206)를 포함한다. 도2에 도시된 바와 같이, 메모리 제어기 허브(204)는 하나 또는 그 이상의 CPU(208)와 시스템 메모리(210) 간에 상호연결/허브를 제공한다.
I/O 허브(206)는 시스템 내의 여러 주변 구성요소들(예, 키보드(218), 디스크 드라이브(224), 스캐너(222) 및/또는 마우스(220)) 간에 인터페이스를 제공한다. 또한, 외부 버스 및 그의 에이전트(예, PCI 버스(212), PCI 에이전트(214))는, 메모리 제어기 허브(204)에 직접 상호연결되기 보다는 I/O 허브(206)에 상호연결됨으로써, 허브 링크(202)를 통해 메모리(210) 및 CPU(208)에 간접적으로 상호연결된다.
메모리 제어기 허브(204)와 I/O 허브(206)를 상호연결하는데 허브 링크를 사용함으로써, I/O 구성요소와 CPU/메모리 서브시스템 간에는 개선된 액세스가 제공된다(예, 증가된 대역폭, 프로토콜 독립성, 보다 적은 대기시간). 추가로, 허브 링크는 또한, I/O 빌딩 블록에 대해 백본(backbone)을 제공함으로써, 컴퓨터 시스템의 스케일링 능력(scalability)을 향상시킬 수 있다(예, 기초 데스크탑 플랫폼으로부터 최상위(high-end) 데스크탑 플랫폼 또는 워크스테이션 플랫폼으로의 업그레이딩).
개선된 인터페이스를 제공하기 위해, 허브 링크는 하나 또는 그 이상의 독특한 구성을 포함한다. 일실시예에서, 트랜잭션은 패킷 기반의 스플릿-트랜잭션(split-transaction) 프로토콜을 이용하여, 허브 링크를 통해 전송된다. 예를 들어, 요구 패킷(Request Packet)은 트랜잭션을 시작하는데 사용되고, 개별의 완료 패킷(Completion Packet)은 필요에 따라 트랜잭션을 종료하는데 실질적으로 사용될 수 있다.
도3은 허브 링크를 통한 스플릿 트랜잭션의 일례를 도시하고 있다. 도3에 도시된 바와 같이, 허브 에이전트는 먼저 중재(arbitration)(302)를 통해 허브 링크의 소유권을 획득한다. 중재에 이어, 요구(request) 단계(304)가 존재한다. 필요한 경우(예, 판독 트랜잭션을 위해 데이터를 리턴하는 경우), 완료(completion) 단계(308)가 요구 단계 뒤에 올 수 있다. 그러나, 완료 단계 이전에, 응답 허브 에이전트는 허브 링크의 소유권에 대해 먼저 중재(306)할 것이다.
허브 링크를 통해 요구 패킷과 대응하는 완료 패킷의 전송 시간 사이에는,소정의 배열 규칙(order rule)에 따라, 관계없는 개별 패킷들이 전송될 수 있는데, 이는 이하에서 보다 상세히 논의될 것이다. 주변 장치에서 메모리로 판독 요구를 한 경우를 예를 들면, 요구된 데이터를 제공하는 것은, 그 데이터가 완료 패킷으로 리턴될 준비를 하도록 하기 위해 다수의 클럭 사이클을 취할 수 있다. 요구된 데이터를 획득하는데 걸리는 시간 동안에, 메모리 제어기 허브(204)의 큐/파이프 내에 대기중인 관계없는 개별 완료 및/또는 요구 패킷들은 I/O 허브(206)로 전송될 수 있다.
또한, 도3에 도시된 바와 같이, 각 요구 또는 완료는 인터페이스를 통해 패킷으로 전송될 수 있다. 기록 타입 트랜잭션에 대해, 데이터는 요구(request)에 연관된다. 판독 타입 트랜잭션에 대해, 데이터는 완료(completion)에 연관될 것이다. 일부의 경우, 완료 패킷이 연결되지 않은 경우에는, 요구에 대해 하나 이상의 완료가 존재하게 되어, 이것을 다수의 완료 패킷으로 효과적으로 분리할 수 있다.
추가로, 일실시예에서, 허브 링크는 트랜잭션의 속성(attribute)의 식별 뿐만 아니라 허브 링크의 라우팅을 위해 트랜잭션 디스크립터(descriptor)를 사용한다. 예를 들면, 디스크립터가 등시적(isochronous) 또는 비동기적(asynchronous)으로 트랜잭션을 정의하도록 이용될 수 있는데, 결과적으로, 이것은 이후에 소정의 프로토콜에 따라 조정될 수 있다.
또한, 일실시예에서, 소스 동기 클럭 모드에 의하여 데이터 패킷을 전송함으로써, 인터페이스의 대역폭이 일부 증가된다. 또한, 일실시예에서, 허브 링크는 협소한 커넥션(예, 적은 핀/패드)을 사용함에도 불구하고 증가된 대역폭을 제공한다.
그러나, 대안의 실시예에서, 허브 링크는, 본 발명의 범위를 벗어나지 않는 한, 전술한 모든 독특한 특징들보다 적은 특징으로 구현될 수 있다. 또한, 허브 링크는, 본 발명의 범위에서 벗어나지 않는 한, 칩셋 내부 또는 외부의 브릿지 및/또는 다른 구성요소들을 상호연결하는데 사용될 수도 있다.
트랜잭션, 프로토콜 및 물리 계층
간략히 말해서, 허브 링크는 트랜잭션 계층, 프로토콜 계층 및 물리 계층의 3개의 부분으로 설명된다. 그러나, 이 계층들 간의 구별은 한정적인 의미라기 보다는 예시적인 의미로 간주되어야 하고, 따라서 특정 바람직한 실시예를 의미하는 것이 아니다.
트랜잭션 계층(TRANSACTION LAYER)
허브 링크의 일실시예에서, 트랜잭션 계층은 허브 링크를 통해 전송된 개별 트랜잭션(하나 또는 그 이상의 패킷으로 구성될 수 있는)의 라우팅을 지원한다. 예를 들면, 일실시예에서, 허브 링크의 트랜잭션 계층은 요구 및 데이터 패킷 내에 포함되는 트랜잭션 디스크립터를 생성한다. 트랜잭션 디스크립터는 허브 에이전트(예, MCH) 내의 큐들 간의 중재를 지원하거나, 및/또는 허브 링크를 통한 요구 및 데이터 패킷의 라우팅을 용이하게 하는데 사용될 수 있다.
예를 들어, 일실시예에서, 트랜잭션 디스크립터는, 먼저 지원된(요구 패킷 내의) 라우팅 정보에 기반하여, 요구-개시 에이전트로의 완료 패킷의 라우팅을 지원한다. 트랜잭션 디스크립터는 또한 허브 에이전트 내의 패킷-디코딩 로직을 줄이거나 또는 가능한 한 최소화하도록 한다.
대안의 실시예에서, 트랜잭션 디스크립터는 또한 각각의 트랜잭션 속성에 기반하여 요구의 조정을 구별하는 능력을 제공할 수 있다. 예를 들어, 트랜잭션 디스크립터에서 식별된 트랜잭션 속성은 동작을 등시적(Isochronous)으로 식별할 수 있다(즉, 규칙적으로 고정된 양의 데이터를 이동시키는 동작. 예, 비디오 또는 오디오의 실시간 동작들). 결과적으로, 트랜잭션 속성에 의해 식별됨에 따라, 동작은 특정 타입의 동작(예, 등시성)을 지원하기 위해 대응하는 소정의 라우팅 프로토콜에 따라 조정될 수 있다.
일실시예에서, 트랜잭션 디스크립터는 라우팅 필드 및 중재 필드의 2개 필드를 포함한다. 대안의 실시예에서는, 본 발명의 범위에서 벗어나지 않는 한, 트랜잭션 디스크립터의 하나 또는 그 이상의 기능을 제공하기 위해, 보다 많거나 또는 보다 적은 필드가 사용될 수 있다.
일실시예에서, 아래의 표1에 도시된 바와 같이, 라우팅 필드는 패킷 라우팅을 위해 사용되는 6-비트 필드이다. 중재 필드 뿐만 아니라 라우팅 필드의 사이즈는 본 발명의 범위 내에서 변경될 수 있다.
표1 - 트랜잭션 디스크립터의 라우팅 필드
표1에 도시된 바와 같이, 라우팅 필드의 3비트는 트랜잭션을 개시한 허브 에이전트를 식별하는 허브 ID에 사용된다. 대안의 실시예에서, 8을 초과하는 허브 링크 계층을 제공하기 위해, 추가의 비트가 라우팅 필드에 사용될 수 있다.
예를 들어, 시스템 내에 다수의 허브 링크 계층이 존재할 수 있는데, 이 경우에 계층의 꼭대기(top)에 있는 에이전트는 계층의 기저(base)로 다시 완료의 라우팅을 할 수 있다. 이에 관련해서, "계층(hierarchy)"은 허브 링크 "루트(root)" 에이전트(예, MCH)로부터 시작한 다수의 연결된 허브 링크 세그먼트로 구성된다. 예를 들어, 도2는 단지 하나의 허브 링크 계층을 가지는 시스템을 도시하고 있다. 그러나, 도4는 2개의 허브 링크 계층에 기반한 시스템의 일례를 도시하고 있다. 단지 하나의 허브 링크 계층을 구현한 실시예에서, "000"인 디폴트값은 Hub ID 필드에 사용될 수 있다.
라우팅 필드의 나머지 3비트는 허브 링크 에이전트 내의 내부 파이프/큐를 식별하는데 사용될 수 있다. 예를 들어, I/O 제어 허브는 개별적인 "파이프"를 통한 BM-ID(Bus Mastering ID) 트래픽 및 내부 USB(Universal Serial Bus) 호스트 제어기 트래픽을 지원할 수 있다. 이에 따라, Pipe ID는, 상이한 "파이프"에 의해 개시된 트래픽이 상이한 속성을 가지는 서비싱 에이전트(예, MCH)로 전달하는데 사용될 수 있고, 소정의 프로토콜에 따라 조정될 수 있다. 허브 링크 에이전트가 개별의 내부 파이프를 구현하지 않는 경우, Pipe ID 필드에 "000"인 디폴트값을 사용할 수 있다.
대안의 실시예에서, 트랜잭션 디스크립터는 중재 필드를 더 포함한다. 일실시예에서, 중재 필드는, 타깃 허브 링크 에이전트가 이를 수신한 경우에 트랜잭션을 어떻게 조정할 것인지를 지정한, 3-비트 값이다. 일부의 경우에, 중재 필드는 시스템이 애플리케이션 작업부하 요구를 지원하도록 하는데, 이것은 이동(movement) 및, 특정 요구조건 또는 다른 구별되는 특징을 가지는 데이터의 처리에 의존한다.
예를 들어, 중재 필드는, 최근에 개발된 외부 버스(예, IEEE 1394 및 USB)에 의해 사용되는 것과 같은, 장치들 간의 데이터의 등시적 이동을 지원할 수 있다. 이러한 데이터 이동 요구조건은 I/O 장치와 CPU/메모리 서브시스템 간에 허브 링크를 통한 데이터 흐름과 같이 유지될 필요가 있다.
대안의 실시예에서, 추가적인 트랜잭션 속성은, 캐시 코히어런시(cache coherency)가 하드웨어(즉, 칩셋)에 의해 실시된 경우의 "스눕(snooped)" 트래픽과, 시스템 내의 데이터 코히어런시를 유지하는데 소프트웨어 메커니즘에 의존하는 "넌-스눕(non-snooped)" 트래픽을 구별하는 능력을 포함할 수 있다. 또한, 다른 가능한 속성은, 판독 캐싱(read caching) 형태를 지원하고, 메인 메모리 대역폭을 보다 효과적으로 사용할 수 있도록 하는, "명백히 사전추론 가능한(explicitly prefetchable)" 힌트가 될 수 있다.
배열 규칙(Ordering Rules)
트랜잭션 디스크립터는 또한 허브 링크를 통해 전송된 트랜잭션들 간의 배열 규칙을 지원하는데 사용될 수 있다. 예를 들어, 일실시예에서, 동일한 트랜잭션 디스크립터를 가진 트랜잭션은 강한(strong) 배열(즉, 선도착-선처리(first come-first serve)로 실행된다.
그러나, 동일한 라우팅 필드를 가졌지만 상이한 중재 필드를 가진 트랜잭션은 서로에 대해 재배열(reorder)될 수 있다. 예를 들어, 일실시예에서, 등시 트랜잭션은 비동기 트랜잭션에 대해 강하게 배열될 필요는 없다.
추가로, 허브 링크 인터페이스의 일실시예에서, 데이터 트랜잭션은, 동일한 방향 또는 반대 방향 중의 어느 하나로, 요구에 대한 진행이 이루어지게 된다. 하나의 방향으로의 판독 완료 흐름은 판독 요구 흐름을 동일한 방향으로 패스하도록 허가된다. 그리고, 기록 요구는 판독 요구 흐름을 동일한 방향으로 패스하도록 허가된다.
그러나, 대안의 실시예에서, 허브 링크 인터페이스를 통한 트랜잭션 순회(travelling)에 대한 배열 규칙은 본 발명의 범위 내에서 변경될 수 있다. 예를 들어, 일실시예에서, 허브 링크는, 허브 링크를 통한 트랜잭션의 흐름을 반대 방향으로 결정하기 위해, PCI(Peripheral Component Interconnect)(Revision 2.2)에 제공된 배열 규칙을 구현한다.
프로토콜 계층(PROTOCOL LAYER)
일실시예에서, 허브 링크는 요구(request) 및 완료(completion)의 2가지 타입의 패킷을 가진 패킷-기반 프로토콜을 사용한다. 요구 패킷은 각 허브 링크 트랜잭션에 사용된다. 완료 패킷은, 예를 들어, 판독 데이터를 리턴하거나, 또는 어떤타입의 기록 트랜잭션(예, 요구된 완료에 따른 I/O 기록 및 메모리 기록)의 완료에 응답하는데 요구되는 경우에 사용된다. 완료 패킷은, 트랜잭션 계층 섹션에서 이미 논의된 바와 같이, 트랜잭션 디스크립터 및 배열에 의해 대응하는 요구 패킷에 연관된다.
추가로, 일실시예에서, 허브 링크 인터페이스는 대칭적이고 분배적인 중재 프로토콜을 사용한다. 예를 들면, 각 허브 에이전트는 요구 신호를 구동하는데, 이것은 동일한 인터페이스에 부속된 다른 에이전트에 의해 관측된다. 승인(grant) 신호가 사용되지 않고, 에이전트는 인터페이스의 소유권을 독립적으로 결정한다.
또한, 일실시예에서는, 명확한 프레이밍(framing) 신호가 사용되지 않는다. 인터페이스의 에이전트 소유권을 부여하는 중재 이벤트와 그 에이전트의 전송의 시작 간에 함축된 관계가 있다. 대안의 실시예에서는, 본 발명의 범위에서 벗어나지 않는 한, 프레이밍 신호가 사용될 수도 있다.
인터페이스(예, 전송 데이터의 처리시에)를 소유한 허브 링크 에이전트가, 요구 신호를 표명-해제(de-asserting)함으로써, 그 인터페이스의 제어를 해제한 경우, 패킷 전송의 종결(end)이 발생한다. 추가로, 일실시에에서, 패킷을 연결해제 또는 재시도하기 위해 STOP 신호를 사용함으로써, 흐름 제어가 역시 달성된다.
패킷 정의
허브 링크의 일실시예에서, 데이터는 허브 링크 클럭(HLCK)의 다수의 비율(예, 1x, 4x, 8x)로 전송되는데, 일실시예에서는 허브 링크에 의해 결합된 허브 에이전트에 의해 공유된 공통 클럭이다. 데이터는 허브 링크의 데이터 신호 경로(PD)를 통해 송신되는데, 이것은 2개의 전력(예, 8, 16, 24, 36)의 "인터페이스 폭"을 가진다. 결과적으로, 허브 링크는, 데이터 신호 경로의 전송 속도 및 폭에 의존하는, 가변 데이터 전송 과립성(granularity)(즉, 전송 폭)을 가질 수 있다. 예를 들어, 4x 모드인 8-비트 인터페이스 폭의 경우, 전송 폭은 HLCK 당 32비트가 된다. 결과적으로, 데이터 신호 경로의 전송 속도 및/또는 인터페이스 폭을 변화시킴으로써, 전송 폭(즉, HLCK 당 전송되는 바이트 수)이 스케일링 될 수 있다.
추가로, 일실시예에서, 패킷이 전송 폭보다 클 수 있다. 결과적으로, 패킷은 다수의 섹션(즉, 패킷 폭)으로 전송된다. 일실시에에서, 패킷은 더블-워드(32비트) 사이즈인 패킷 폭으로 분할된다.
32비트 전송 폭의 경우, 표2에 도시된 바와 같이, 패킷 폭의 바이트는 최하위(least significant) 바이트(바이트0)로 시작하고 최상위(most significant) 바이트(바이트3)로 끝나는 인터페이스 상에 나타난다. 64비트 전송 폭(예, 4x 모드인 16비트 폭의 인터페이스)의 경우, 하위 더블-워드(less significant double-word)(패킷 폭)는 보다 낮은 바이트의 데이터 신호(예, PD[0:7]) 상에 전송되고, 상위 더블-워드는 보다 높은 바이트의 데이터 신호(예, PD[15:8]) 상에 병렬로 전송된다. 이 두가지 예는 아래의 표2에 도시되어 있다.
표2 - 8 및 16 비트 인터페이스 폭에 대한 바이트 트랜잭션 배열
허브 링크 인터페이스의 프로토콜 계층은 또한 데이터를 프레이밍할 수 있다. 이에 따라, 허브 링크에 의해 구현되는 프레이밍 규칙은 하나 또는 그 이상의 패킷 폭을 전송 폭의 세트 상으로 매핑시키는 방법을 정의한다. 패킷을 패킷 폭으로 간단히 분해하기 위해, 허브 링크의 일실시예에서는, 다음의 3가지 프레이밍 규칙이 구현된다: 즉, 패킷의 헤더 섹션은 전송 폭의 제1 바이트 상에서 시작한다; 패킷의 데이터 섹션(존재한다면)은 전송 폭의 제1 바이트 상에서 시작한다; 및 하나의 패킷은 전송 폭의 적분 수(integral number)를 차지한다.
패킷에 의해 소비되지 않은 가용한 전송 폭은 위조 더블 워드(DW) 전송으로 채워질 수 있고, 수신 허브 에이전트에 의해 무시될 것이다. 대안의 실시예에서는, 보다 많거나, 적거나 및/또는 상이한 프레이밍 규칙이, 본 발명의 범위 내에서, 허브 링크에 의해 사용될 수 있다.
아래의 표3 및 표4는 64비트 전송 폭의 경우에 대해 위에서 제시된 프레이밍 규칙의 예를 도시하고 있다.
표3 - 32비트 어드레싱을 이용하고, 3개의 더블-워드 데이터를 포함한 요구
표4 - 64비트 어드레싱을 이용하고, 3개의 더블-워드 데이터를 포함한 요구
요구 패킷(Request Packets)
일실시예에 따른 요구 패킷에 대한 패킷 헤더 포맷이 아래의 표5 및 표6에 도시되어 있다. 표5 및 표6에 도시된 예에서, 기본 헤더(base header)는 1 더블-워드인데, 32비트 어드레싱에 대해서는 하나의 부가적인 더블-워드가 요구되고, 64비트 어드레싱 모드에 대해서는 2개의 부가적인 더블-워드가 요구된다. 표5 및 표6에 도시된 바와 같이, 헤더의 필드는 아래의 표에서 설명된다.
허브 링크의 대안의 실시예에서, 요구 패킷의 헤더에 포함된 필드는, 본 발명의 범위를 벗어나지 않는 한, 변경될 수 있다. 예를 들어, 헤더는 아래에 도시된필드를 대신하여, 추가의 필드, 보다 적은 필드, 또는 상이한 필드를 포함할 수 있다. 또한, 필드의 인코딩도 역시 본 발명의 범위를 벗어나지 않는 한 변경될 수 있다.
표5 - 32비트 어드레싱에 대한 요구 패킷 헤더 포맷
표6 - 64비트 어드레싱에 대한 요구 패킷 헤더 포맷
ransaction Descriptor : 앞서 기술된 바와 같이 트랜잭션 디스크립터 라우팅 및 중재 필드.
rp/cp 이 위치에서 요구 패킷은 '0'으로 식별되고, 완료 패킷은 '1'로 식별됨.
cr : 요구된 완료('1') 또는 요구되지 않는 완료('0').
r/w : 판독('0') 또는 기록('1'). 이 필드는 데이터가 완료(판독) 또는 요구(기록)로 포함되는지를 나타냄.
Address Format(af) : 어드레싱 포맷은 암시적('0') 또는 32/64 비트('1') 중의 하나임.
Lock(lk) : 요구가 로킹된 시퀀스의 일부임을 나타내는 플래그. 로킹된 시퀀스 내의 요구 및 완료는 이 비트 세트를 가짐. 로크를 이해하지 못하는 허브 에이전트는 이 플래그를 무시하고 이 필드를 '0'으로 채움.
Data Length : 데이터 길이는 더블-워드로 주어지고, 표현된 더블-워드 수는 이 수에 더한 것이 되도록 인코딩됨. 따라서, "000000"은 1개의 더블-워드를 표현함.
Space : 이 필드는 요구에 대한 목적지 공간 타입을 선택함. 일실시예에서, 가능한 목적지 공간은 메모리("00") 및 IO("01")를 포함함.
1st DW BE : 메모리 또는 IO로의 판독 또는 기록 요구의 최초 더블-워드에 대한 바이트 인에이블. 바이트 인에이블은 액티브 로우임. 요구에 대해 단지 1개의 더블-워드만이 존재하는 경우, 이 바이트 인에이블 필드가 사용됨. 일실시예에서, 바이트가 인에이블되지 않은 메모리 또는 IO 판독 또는 기록 요구를 이슈하는 것은 비합법적임.
Last DW BE : 판독 또는 기록 요구의 최종 더블-워드에 대한 바이트 인에이블. 바이트 인에이블은 액티브 로우임. 요구에 대해 단지 1개의 더블-워드만이 존재하는 경우, 이 필드는 인액티브("1111")되어야 함. 바이트 인에이블은 인접하지않을 수 있음(예, "0101"). 이 필드는 "Special Cycle Encoding" 필드를 오버랩한 후로 특정 사이클로 사용되지 않음.
Addr[31:2] : 동일한 타입의 사이클에 대한 PCI 상에 있음에 따라 32비트 어드레스가 생성됨. 이 더블-워드는 32 및 64비트 어드레싱 모드(암시된 어드레싱 모드에 대한 것이 아니라)에 대해 포함됨.
Extended Address(ea) : 32비트 어드레싱('0') 또는 64비트 어드레싱('1')을 나타냄.
Config Type(ct) : 오직 구성 사이클 동안에, 이 비트는 Type 0('0') 또는 Type 1('1') 구성 사이클을 나타내는데 사용됨. 구성 사이클이 항상 32비트 어드레싱으로 수행되기 때문에, 이 비트는 "Extended Address" 비트로 오버랩됨.
Addr[63:32] : 64비트 어드레싱 모드에 대한 상위 어드레스 비트. 이 더블-워드는 64비트 어드레싱 모드에 대해 포함됨.
완료 패킷(Completion Packets)
일실시예에 따른 완료 패킷에 대한 헤더 포맷이 아래의 표7에 도시되어 있다. 일실시예에서, 헤더는 1개의 더블-워드이다. 표8에 도시된 바와 같이, 헤더의 필드는 다음의 표에서 설명된다.
그러나, 허브 링크의 대안의 실시예에서, 완료 패킷에 대한 헤더에 포함된 필드는 본 발명의 범위에서 벗어나지 않는 한 변경될 수 있다. 예를 들어, 헤더는 아래에 도시되고 설명되는 필드를 대신하여, 추가적인 필드, 보다 적은 필드 또는상이한 필드를 포함할 수 있다. 또한, 필드의 인코딩도 역시 본 발명의 범위에서 벗어나지 않는 한 변경될 수 있다.
표7 - 완료 패킷 헤더 포맷
Transaction Descriptor : 트랜잭션 섹션에서 앞서 기술된 바와 같이 트랜잭션 디스크립터 라우팅 및 중재 필드.
rp/cp : 이 위치에서 완료 패킷은 '1'로 식별됨.
r/w : 판독('0') 또는 기록('1'). 이 필드는 데이터가 완료(판독) 또는 요구(기록)로 포함되는지를 나타냄.
Lock(lk) : 완료가 로킹된 시퀀스의 일부임을 나타내는 플래그. 로킹된 시퀀스 내의 요구 및 완료는 이 비트 세트를 가짐. 로크를 이해하지 못하는 허브 에이전트는 이 플래그를 무시하고 이 필드를 '0'으로 채움.
Data Length : 데이터 길이는 더블-워드로 주어지고, 표현된 더블-워드 수는 이 수에 더한 것이 되도록 인코딩됨. 따라서, "000000"은 1개의 더블-워드를 표현함.
Completion Status : 사전정의를 이용하여 완료 상태를 나타냄.
Reserved : 모든 비축된 비트들은 '0'으로 설정됨.
허브 링크의 일실시예에서, 메모리 판독에 대한 완료는, 전체 요구가 최종 완료될 때까지 요구된 데이터의 완전한 양보다 적게 제공할 수 있다. 마찬가지로, 메모리 기록에 대한 완료는 완료된 전체 요구보다 적게 나타날 수 있다. 이것은 특정 플랫폼에 대한 특정 허브 링크 인터페이스의 대기시간 요구조건을 만족사키도록 수행될 수 있다.
추가로, 완료를 필요로하는 요구에 대해, 일실시예에서, 개시자(initiator)는, 개시 허브 에이전트의 버퍼에 저장될 수 있는, 요구에 대한 정보를 보유한다. 예를 들어, 이 정보는 트랜잭션 디스크립터, 패킷 사이즈, 로크 상태, 라우팅 정보 등을 포함할 수 있다. 또한, 완료를 수신한 경우, 개시자는 그 완료를 대응 요구와 매칭시킨다. 다수의 완료의 경우에, 개시자는 본래의 요구가 완전히 완료될 때까지, 본래 요구에 대해 완료된 데이터의 카운트를 누적한다.
인터페이스 중재 및 패킷 프레이밍
허브 링크 인터페이스의 일실시예에서, 인터페이스가 유휴상태(idle)인 경우, 인터페이스에 연결된 허브 에이전트로부터의 요구의 표명(assertion)은 중재 이벤트로 고려된다. 요구한 제1 에이전트가 인터페이스의 소유권을 얻는다. 허브 링크가 유휴상태일 때 에이전트들이 동시에 소유권을 소유한 경우, 최근 최소 제공된(least recently serviced) 허브 에이전트가 획득하게 된다. 일실시예에서, 모든허브 에이전트는 최근 최소 제공된 상태(예, 내부 레지스터의 상태 플래그를 통해)를 추적한다. 대안의 실시예에서는, 대안적인 중재 루틴이 본 발명의 범위 내에서 사용될 수 있다.
일단 허브 에이전트가 인터페이스의 소유권을 획득하면, 트랜잭션이 완료되거나 또는 허가된 시간 대역폭이 만료될 때까지, 인터페이스를 소유하도록 지속된다. 예를 들어, 일실시예에서는, 대역폭 할당을 제어하고 에이전트의 인터페이스 소유권 보유기간을 제한하기 위해 각 허브 에이전트에 타임슬라이스 카운터(timeslice counter)가 제공된다. 허브 에이전트에 분배된 시간(즉, 타임슬라이스 값)은 동일한 인터페이스에 부속된 허브 링크 에이전트에 대해 동일하거나 또는 상이할 수 있다. 타임슬라이스 카운터는 인터페이스의 소유권을 획득함과 동시에 시작되어, 허브 링크 기본 클럭 주기를 카운트한다.
일실시예에서, 각 허브 에이전트는 그들 자신의 타임슬라이스 할당을 책임진다. 이에 따라, 일실시예에서, 타임슬라이스 값은 각 허브 에이전트에서의 각 인터페이스에 대한 허브 링크 커맨드 레지스터를 통해 프로그램될 수 있다.
도5는 허브 에이전트 A 및 에이전트 B 간의 허브링크 인터페이스에 대한 허브 링크 인터페이스 및 두 패킷의 전송에 대한 중재의 일례를 도시하고 있다. 이 예는 유후 인터페이스 상태로부터의 중재를 도시하고 있으며, 이 인터페이스는 그 후에 유휴상태로 리턴된다. 또한, 도시된 예에서, 인터페이스는 8비트 데이터 신호(PD) 경로를 가진 4x 데이터 전송 모드를 사용한다. 도5에 도시된 예에서, 에이전트 A는 최근 최다 사용된(most recently serviced : MRS) 에이전트이다. 결과적으로, 에이전트 A는 외부 요구 신호(RQA)를 표명하고, 동일한 에지로부터 패킷 전송이 시작되기 전에 클럭 에지 1(인액티브인 것으로 도시된)에 대해 에이전트 B의 요구 신호(RQB)의 상태를 샘플링한다.
일실시예에서, 전송된 데이터(즉, 에이전트 A로부터의 데이터)가 수신기(즉, 에이전트 B)에서 내부적으로 이용가능하기 전에, 클럭 에지 3에서 시작하는 2 클럭 지연이 존재한다. 제1 패킷은 2개의 더블 워드(502, 504)로 구성되고, 4x 모드로 송신하기 위해 2개의 기본 클럭을 필요로한다. 제2 패킷은 3개의 더블-워드(506, 508, 510)이고, 따라서 4x 모드에서 3개의 기본 클럭을 필요로한다.
흐름 제어(Flow Control)
일실시예에서, 패킷은 요구 큐 공간, 데이터 버퍼 공간의 부족 또는 다른 이유로 인해 수신 에이전트에 의해 재시도되거나 연결해제될 수 있다. 일실시예에서, 흐름 제어는 정지 신호(STOP)를 이용하여 달성된다.
도6은 STOP 신호 사용의 일례를 도시하고 있다. 도시된 바와 같이, 에이전트 A는 외부 요구 신호(RQA)를 표명하고, 동일한 에지(예, 클럭 에지 1)로부터 패킷 전송이 시작되기 전에 클럭 에지 1(인액티브인 것으로 도시된)에 대해 에이전트 B의 요구 신호(RQB)의 상태를 샘플링한다.
2 클럭 지연 후에, 에이전트 A로부터 전송된 데이터는, 클럭 에지 3에서 시작하는 에이전트 B에서의 수신기에서 내부적으로 이용가능하다. 일실시예에서, 에이전트 A로부터 전송된 데이터의 수신 후에, 도6에 도시된 바와 같이, 클럭 에지 4에서 STOP 신호를 표명함으로써, 에이전트 B가 흐름 제어를 수행하게 되는 첫번째 기회가 있다.
추가로, PD 신호의 소유권이 하나의 허브 에이전트로부터 다른 허브 에이전트로 변경되면, STOP 신호의 소유권도 역시 소정 수의 클럭을 따르도록 변경될 수 있다. 또한, 일실시예에서, STOP 신호는 패킷 폭의 최종 전송에 응답하는 기본 클럭에 대해 샘플링된다. 예를 들어, 4x 모드(8비트 폭 PD 신호를 이용한)에서, STOP 신호는 각각 기본 클럭으로 샘플링된다. 그러나, 1x 모드에 대해, STOP 신호는 각각 1/4 클럭으로 샘플링된다(트랜잭션의 시작점이 기준점으로 사용됨).
STOP 신호의 수신 후에, STOP 신호를 수신한 허브 에이전트는 추가적인 패킷 전송을 재시도할 것인지를 결정한다. 도7은 일실시예에 따라, STOP 신호의 수신 후에, 패킷 전송을 재시도할 것인지의 판단시에 허브 에이전트에 의해 수행되는 단계를 도시한 순서도이다.
단계(702)에서, 현재 패킷을 송신하고 있는 허브 에이전트가 STOP 신호를 수신한다. 이에 응답하여, 단계(704)에서, STOP 신호를 수신한 허브 에이전트는, 다른 허브 에이전트의 요구 신호(예, RQB)를 샘플링함으로써, 다른 에이전트(STOP 신호가 활성화된)가 인터페이스의 소유권을 요구하는지를 판단한다.
STOP 신호의 수신측에서, STOP 신호를 전송한 에이전트가 인터페이스의 소유권을 요구하고 있지 않다고 판단한 경우, 단계(706)에서, 현재 인터페이스의 소유자가 STOP으로부터 복구 후에 패킷 전송을 시도할 것이다. 한편, STOP 신호가 활성화된 에이전트가 소유권을 요구하는 것으로 판단된 경우에는, 단계(708)에서, 현재의 소유자는 자신의 타임슬라이스가 만료되었는지를 판단한다.
현재 인터페이스 소유자에 대한 타임슬라이스가 만료된 경우, 단계(710)에서, 현재의 소유자가 소유권을 해제한다. 현재 인터페이스 소유자에 대한 타임슬라이스가 만료되지 않은 경우에는, 현재 소유자는 중단된 패킷과는 상이한 속성을 가진 패킷을 전송할 수 있다. 보다 상세히 말하면, 단계(712)에서, 현재 소유자는, 전송되어야 하는 패킷이 현재의 중재 세션(즉, 현재 소유자의 보유 주기)에서 재시도된 패킷과는 상이한 속성 타입을 가진 패킷인지를 판단한다.
현재 소유자가 상이한 속성을 가진 패킷을 가지지 않은 경우, 단계(714)에서, 현재 소유자는 그 패킷의 전송을 시도할 수 있다. 그렇지 않으면, 현재의 소유자는 인터페이스의 소유권을 해제한다.
물리적 인터페이스(PHYSICAL INTERFACE)
일실시예에서, 허브 링크 인터페이스는 66MHz 또는 100MHz의 기본 주파수로 동작하는 물리적 인터페이스를 구현한다. 그러나, 다른 주파수가 사용될 수도 있다. 추가로, 일실시예에서, 물리적 인터페이스는 4x의 기본 허브 링크 클럭으로 데이터를 전송하기 위해 쿼드-클러킹될(quad-clocked) 수 있는 소스 동기(source synchronous : SS) 데이터 전송 기법을 사용한다. 결과적으로, 66MHz 또는 100MHz의 기본 주파수로 동작하는 8-비트 데이터 인터페이스(예, PD)를 가지는 실시예에서, 각각 초당 266 메가바이트(266MB/s) 또는 400MB/s인 대역폭이 달성될 수 있다.
또한, 일실시예에서, 허브 링크 인터페이스는 1.8V의 전압 동작을 지원하고,CMOS 시그널링에 기반한다. 그러나, 대안의 실시예에서, 인터페이스는, 본 발명의 범위에서 벗어나지 않는 한, 가변 대역폭을 제공하고 대안의 동작 전압을 지원하기 위해, 대안적인 신호 처리에 기반한, 대안적 주파수 및/또는 대안적인 사이즈의 데이터 인터페이스로 동작할 수 있다.
외부 신호 정의(External Signals Definition)
도8은 일실시예에 따른 2개의 허브 에이전트 간에 허브 링크의 물리적인 신호 인터페이스를 도시하고 있다. 도8에 도시된 바와 같이, 허브 링크 물리적인 인터페이스는 데이터 클럭킹을 위해 상이한 쌍의 소스 동기 스트로브 신호(PSTRBN, PSTRBP)를 갖는 양방향 8비트 데이터 버스(PD [7:0])를 사용한다. 대안의 실시예에서, 인터페이스는 확장될 수 있다. 예를 들어, 도8에 도시된 바와 같이, 추가적인 8비트 데이터 버스(PD [15:8])가 소스 동기 스트로브 신호 쌍에 추가적인 쌍과 함께 사용될 수도 있다. 또한, 대안의 실시예에서는, 단방향 데이터 신호가 사용될 수 있다.
추가로, 단방향 중재 신호는 각 에이전트를 다른 에이전트(RQa, RQb)로 연결하고, 앞서 기술된 바와 같이, 데이터 흐름을 제어하기 위해 수신 에이전트에 의해 양방향 STOP 신호가 사용된다. 추가적인 인터페이스 신호는 시스템 리셋(Reset), 공통 클럭(HLCLK) 및 전압 기준 신호(HLVREF)를 포함한다. 또한, 제조 및 온도 변화를 보상하기 위해, 드라이버 출력 임피던스를 적합한 값으로 매칭하는 각 허브 에이전트에 대한 신호(ZCOMP)가 포함될 수도 있다.
도8에 도시된 인터페이스에서의 물리적 신호가 아래의 표8에서 더 설명된다. 허브 링크의 대안의 실시예에서, 물리적 인터페이스에 포함된 신호는 본 발명의 범위에서 벗어나지 않는 한 변경될 수 있다. 예를 들어, 물리적 인터페이스는, 도8에 도시되고, 아래의 표8에서 더 설명되는 신호로부터 변경된 보다 많거나, 보다 적거나 또는 상이한 신호를 포함한다.
표8 - 8비트 에이전트에 대한 허브 링크 인터페이스 신호
이름 비트(패드) 타입 클럭 모드 설명
PD[7:0]PSTRBPPSTRBNRQaRQbSTOPHLCLKRESET#HLVREFHLZCOMPVCCHLVSSHLTotal 81111111114425 (1)ASTSASTSASTSI/OI/OASTSIIII/Opowerground (2)SSSSSS(3)CCCCCCN/ACCN/AN/AN/AN/A 패킷 데이터 핀, 일실시예에서, 유휴 상태일 때, 데이터 인터페이스는 액티브 지지자에 의해 구동된 최종 전압값으로 홀드됨.네거티브 PD 인터페이스 스트로브(디폴트 전압 레벨=VSSHL) 및 포지티브 PD 인터페이스 스트로브(유휴 전압 레벨=VCCHL)는 PD[7:0] 인터페이스에 대해 4x 및 1x 데이터 전송을 위한 타이밍을 제공함. 데이터를 제공하는 에이전트는 이 신호를 구동함. PSTRBN 및 PSTRBP는 수신기에서 완전히 다르게 센싱되어야 함.포지티브 PD 인터페이스 스트로브, 위에 설명된 PSTRBP 참조.허브 링크 인터페이스의 소유권을 획득하기 위한 에이전트 A로부터의(A에서 출력되고, B로 입력됨) 액티브-하이 요구. RQa는 에이전트 A가 전송가능한 데이터를 가지고 있는 경우에 표명되고, 에이전트 A의 모든 데이터가 전송되었거나 또는 에이전트 A가 인터페이스를 해제한 것으로 판단한 경우에 표명해제됨. 리셋 전압값은 VSSHL임.에이전트 B(B에서 출력되고, A로 입력됨)로부터의 요구. 위에 설명된 RQa 참조.패킷을 재시도 또는 연결해제하기 위해 사용된 파이프라인 흐름 제어.허브 링크 기본 클럭, 일실시예에서는 66MHz 또는 100MHz 중의 하나임. 이것은 공통 클럭 신호(이하에 더 설명됨)에 대한 타이밍 정보를 제공함.(4)허브 링크 에이전트에 대한 액티브-로우 리셋 지시.차동 입력에 대한 전압 기준(VCCHL/2). 일실시예에서, 이 전압은 전압 분배기를 통해 머더보드 상에 생성됨.공급 임피던스 보상1.8V
(1)ASTS = Actively Sustained Tri-State.
(2)SS = Source Synchronous Mode Signal
(3)CC = Common Clock Mode Signal
(4)일실시예에서, Reset은 시스템-와이드 신호이다; 이것은 시스템의 하나이 구성요소로부터 출력되어, 다른 구성요소로 입력된다. 또한 Reset은 HLCLK에 대해 비동기적이다.
공통 클럭 전송 모드 동작(Common Clock Transfer Mode Operation)
일실시예에서는, 허브 링크 인터페이스를 통해 전송된 많은 신호들이 공통 클럭 모드에 따라 전송된다. 보다 상세히 말하면, 공통 클럭 모드를 통해 전송되는 신호의 타이밍은 단일 클럭(예, 허브 링크 클럭)에 참조된다. 대안의 실시예에서, 신호는 허브 링크 에이전트의 외부의 시스템 클럭에 연결될 수 있다. 또한, 시스템 내에 하나 이상의 허브 링크 세그먼트가 존재할 수 있는데, 이 경우에 상이한 기본 클럭이 상이한 세그먼트에 대해 사용될 수 있다. 예를 들어, 하나의 구성요소가 66MHz 기본 허브 링크 인터페이스와 100MHz 기본 허브 링크 인터페이스를 모두 구현할 수 있다.
소스 동기 전송 모드 동작(Source Synchronous Transfer Mode Operation)
일실시예에서, 패킷/데이터는 소스 동기 클럭 모드를 이용하여 전송되는데,이것은 데이터의 데이터 전송 속도를 배가시키기 위한 기법을 제공한다. 예를 들어, 8비트 데이터 신호 경로로 4x 소스 동기 클러킹 모드를 이용하는 실시예에서, 더블-워드(즉, 4바이트)의 전송은 단지 하나의 허브 링크 클럭 사이클(HLCK)을 필요로한다. 대안적으로, 8비트 데이터 신호 경로로 1x 소스 동기 클러킹 모드를 이용하여 더블-워드를 전송하는 것은 완료를 위해 완전한 허브 링크 클럭 사이클을 필요로 한다.
보다 상세히 말하면, 소스 동기 전송의 일실시예에서, 스트로브(예, PSTRBN/PSTRBP)는 스트로브와 데이터 간의 소정의 타이밍 관계에 따른 데이터 전송으로 송신된다. 그후에, 이 스트로브는 데이터를 수신 허브 에이전트로 래치하기 위해 수신 허브 에이전트에 의해 사용된다.
보다 상세히 말하면, 일실시예에서, 스트로브(PSTRBP/PSTRBN)의 에지는, 데이터 신호 경로를 통해 전송되고 있는 데이터의 존재 및 타이밍을 식별하기 위해, 수신 허브 에이전트에 의해 사용된다. 예를 들어, 도9의 타이밍도에 도시된 바와 같이, 일실시예에서, 제1 데이터 전송은 PSTRBP의 상승 에지 및 PSTRBN의 하강 에지에 대응된다. 제2 데이터 전송은 PSTRBN의 상승 에지 및 PSTRBP의 하강 에지에 대응된다.
추가로, 일실시예에서, 도9에 도시된 바와 같이, 스트로브(PSTRBP/PSTRBN)의 전송 에지는 데이터 유효 윈도우의 중심 근처에 위치된다. 결과적으로, 수신 에이전트는 다양한 시스템 타이밍 스큐를 수용하기 위해 입력 데이터 샘플링 윈도우가 주어진다. 또한, 일실시예에서, 스트로브 에지 이전에 유효한 최소 데이터(tDvb)및 스트로브 에지 이후에 유효한 최소 데이터(tDva)는 전송되는 데이터를 식별 및 래치하기 위해 수신 허브 에이전트에 의해 사용될 수도 있다. 수신 허브 에이전트가 입력되는 데이터를 래치하면, 데이터는 그 후에, 허브 에이전트에 패스되기 전에 허브 링크 클럭(HLCK)에 재동기되도록 짧은 주기 동안 홀드된다.
앞의 명세서에서 본 발명은 특정한 예시적인 실시예를 참조하여 설명되었다. 그러나, 본 발명의 범위에서 벗어나지 않는 한, 다양한 수정 및 변경이 가능하다는 것이 명백할 것이다. 예를 들면, 일실시예에 따른 허브 링크 인터페이스는, 도10에 도시된 바와 같이, 다수의 프로세서를 구비한 컴퓨터 시스템으로 구현될 수 있다. 따라서, 본 명세서 및 도면은 한정적인 의미가 아니라 예시적인 의미로 간주되어야한다.

Claims (38)

  1. 컴퓨터 시스템 내의 제1 허브와 제2 허브 간에 직접 데이터를 전송하기 위한 인터페이스에 있어서,
    스플릿 트랜잭션에 의하여 패킷으로 데이터를 전송하는 데이터 신호 경로; 및
    일련의 커맨드 신호 - 여기서, 상기 인터페이스는 상기 인터페이스에 직접 연결된 외부 버스를 제외하고, 상기 제1 허브와 제2 허브 간에 포인트-투-포인트 연결(point-to-point connection)을 제공함 -
    를 포함하는 인터페이스.
  2. 제1항에 있어서,
    상기 컴퓨터 시스템 내의 상기 제1 및 제2 허브는 하나의 칩셋 내의 구성요소들인
    인터페이스.
  3. 삭제
  4. 제1항에 있어서,
    상기 인터페이스의 소유권에 대한 중재(arbitration)에 이어, 제1 트랜잭션이 요구 패킷(request packet)을 이용하여 상기 인터페이스 상에서 개시되는
    인터페이스.
  5. 제4항에 있어서,
    상기 요구 패킷은 트랜잭션 디스크립터(transaction descriptor)를 포함하는
    인터페이스.
  6. 제4항에 있어서,
    상기 제1 트랜잭션의 상기 요구 패킷에 응답하여, 완료 패킷(completion packet)이 상기 인터페이스 상에 전송되는
    인터페이스.
  7. 제5항에 있어서,
    상기 요구 패킷은 트랜잭션 디스크립터를 포함하고, 상기 완료 패킷은 대응하는 트랜잭션 디스크립터를 포함하는
    인터페이스.
  8. 제6항에 있어서,
    상기 제1 트랜잭션의 요구 패킷에 응답하여 상기 완료 패킷을 전송하기 전에, 제2 트랜잭션을 위한 요구 패킷이 상기 인터페이스를 통해 전송될 수 있는
    인터페이스.
  9. 제8항에 있어서,
    상기 제1 허브는 프로세서와 메모리 장치를 상호연결하기 위한 메모리 제어기 허브인
    인터페이스.
  10. 제9항에 있어서,
    상기 제2 허브는 컴퓨터 시스템 내의 주변 구성요소들을 상호연결하기 위한 입력/출력(I/O) 허브인
    인터페이스.
  11. 제1항에 있어서,
    상기 데이터 신호 경로는 스케일링 가능한(scalable)
    인터페이스.
  12. 제11항에 있어서,
    소스 동기 클럭 모드에 의하여 상기 데이터 신호 경로를 통해 패킷이 전송되는
    인터페이스.
  13. 제12항에 있어서,
    상기 인터페이스는 일련의 양방향 데이터 신호, 제1 및 제2 소스 동기 스트로브 신호, 단방향 중재 신호 및 양방향 정지 신호를 포함하는
    인터페이스.
  14. 제13항에 있어서,
    상기 인터페이스는 시스템 리셋 신호, 공통 클럭 신호 및 전압 기준 신호를 더 포함하는
    인터페이스.
  15. 제7항에 있어서,
    상기 트랜잭션 디스크립터는 적어도 3개의 허브들 간의 다수의 인터페이스의 계층(hierarchy) 내에서 개별의 허브들을 식별하는
    인터페이스.
  16. 제6항에 있어서,
    상기 요구 패킷은 각각의 요구 패킷에 응답하여 완료 패킷이 필요한지를 나타내는 필드를 포함하는
    인터페이스.
  17. 제4항에 있어서,
    상기 허브들 간의 중재는 대칭적이고 분포적인
    인터페이스.
  18. 제4항에 있어서,
    상기 인터페이스의 소유권은 소정량의 시간까지 하나의 허브에 할당되는
    인터페이스.
  19. 컴퓨터 시스템 내의 제1 허브와 제2 허브 간에 직접 데이터를 전송하기 위한 인터페이스에 있어서,
    스플릿 트랜잭션에 의하여 패킷으로 상기 제1 허브와 상기 제2 허브 간에 데이터를 전송하기 위한 제1 수단; 및
    커맨드 신호를 전송하기 위한 제2 수단 - 여기서, 상기 인터페이스는 상기 인터페이스에 직접 연결된 외부 버스를 제외하고, 상기 제1 허브 및 상기 제2 허브 간에 포인트-투-포인트 연결을 제공함 -
    을 포함하는 인터페이스.
  20. 제19항에 있어서,
    상기 컴퓨터 시스템 내의 상기 제1 및 제2 허브는 하나의 칩셋 내의 구성요소들인
    인터페이스.
  21. 삭제
  22. 제19항에 있어서,
    상기 인터페이스는 요구 패킷을 이용하여 상기 인터페이스 상에서 제1 트랜잭션을 개시하기 위한 수단을 포함하는
    인터페이스.
  23. 제22항에 있어서,
    상기 요구 패킷은 트랜잭션 디스크립터를 포함하는
    인터페이스.
  24. 제22항에 있어서,
    상기 인터페이스는 상기 제1 트랜잭션의 상기 요구 패킷에 응답하여 완료 패킷을 제공하기 위한 수단을 포함하는
    인터페이스.
  25. 제23항에 있어서,
    상기 요구 패킷은 트랜잭션 디스크립터를 포함하고, 상기 완료 패킷은 대응하는 트랜잭션 디스크립터를 포함하는
    인터페이스.
  26. 제24항에 있어서,
    상기 인터페이스는, 상기 제1 트랜잭션의 요구 패킷에 응답하여 상기 완료 패킷을 전송하기 전에, 상기 인터페이스를 통해 제2 트랜잭션을 위한 요구 패킷을 전송하기 위한 수단을 포함하는
    인터페이스.
  27. 제26항에 있어서,
    상기 제1 허브는 프로세서와 메모리 장치를 상호연결하기 위한 수단을 포함하는 메모리 제어기 허브인
    인터페이스.
  28. 제27항에 있어서,
    상기 제2 허브는 컴퓨터 시스템 내의 주변 구성요소들을 상호연결하기 위한 수단을 포함하는 입력/출력(I/O) 허브인
    인터페이스.
  29. 제19항에 있어서,
    스플릿 트랜잭션에 의하여 패킷으로 데이터를 전송하기 위한 상기 제1 수단은 데이터 신호 경로를 스케일링하기 위한 수단을 더 포함하는
    인터페이스.
  30. 제26항에 있어서,
    상기 인터페이스는 소스 동기 클럭 모드에 의하여 상기 데이터 신호 경로를 통해 패킷을 전송하기 위한 수단을 포함하는
    인터페이스.
  31. 제25항에 있어서,
    상기 트랜잭션 디스크립터는 적어도 3개의 허브들 간의 다수의 인터페이스의 계층 내에서 개별의 허브들을 식별하기 위한 수단을 포함하는
    인터페이스.
  32. 제24항에 있어서,
    상기 요구 패킷은 각각의 요구 패킷에 응답하여 완료 패킷이 필요한지를 나타내기 위한 수단을 포함하는
    인터페이스.
  33. 제32항에 있어서,
    상기 인터페이스는 상기 인터페이스의 소유권에 대해 상기 허브들 사이를 중재하기 위한 수단을 포함하는
    인터페이스.
  34. 제22항에 있어서,
    상기 인터페이스는 상기 인터페이스의 소유권을 소정량의 시간까지 상기 허브들 중의 하나에 할당하기 위한 수단을 더 포함하는
    인터페이스.
  35. 컴퓨터 시스템 내의 제1 허브와 제2 허브 간에 데이터를 전송하기 위한 인터페이스에 있어서,
    일련의 데이터 신호 및 한 쌍의 소스 동기 스트로브 신호 - 여기서, 상기 데이터 신호는 스플릿 트랜잭션에 의하여 패킷으로 데이터를 전송하고, 상기 패킷은 요구 패킷 및 완료 패킷을 포함하고, 상기 요구 패캣은 트랜잭션 디스크립터를 포함함 -; 및
    단방향 중재 신호 및 공통 클럭 신호를 포함하는 일련의 커맨드 신호 - 여기서, 상기 인터페이스는 상기 인터페이스에 직접 연결된 외부 버스를 제외하고, 상기 제1 허브 및 상기 제2 허브 간에 포인트-투-포인트 연결을 제공함 -
    를 포함하는 인터페이스.
  36. 삭제
  37. 컴퓨터 시스템 내의 칩셋의 메모리 제어기 허브와 입력/출력(I/O) 허브 간에 데이터를 전송하기 위한 인터페이스에 있어서,
    양방향 데이터 신호 경로 및 한쌍의 소스 동기 스트로브 신호 - 여기서, 상기 데이터 신호 경로는 스플릿 트랜잭션에 의하여 패킷으로 데이터를 전송하고, 상기 패킷은 요구 패킷 및 완료 패킷을 포함하고, 상기 요구 패킷은 트랜잭션 디스크립터를 포함함 -; 및
    단방향 중재 신호, 양방향 정지 신호, 시스템 리셋 신호, 공통 클럭 신호 및 전압 기준 신호를 포함하는 일련의 커맨드 신호
    를 포함하는 인터페이스.
  38. 제37항에 있어서,
    상기 인터페이스는 상기 제1 허브와 상기 제2 허브 간에 포인트-투-포인트 연결을 제공하고, 상기 포인트-투-포인트 연결에 직접 연결된 외부 버스는 제외되는
    인터페이스.
KR10-2001-7005542A 1998-11-03 1999-11-01 컴퓨터 구성요소들 간의 개선된 인터페이스 방법 및 장치 KR100417839B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/186,219 US6145039A (en) 1998-11-03 1998-11-03 Method and apparatus for an improved interface between computer components
US09/186,219 1998-11-03

Publications (2)

Publication Number Publication Date
KR20010092432A KR20010092432A (ko) 2001-10-24
KR100417839B1 true KR100417839B1 (ko) 2004-02-11

Family

ID=22684111

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-7005542A KR100417839B1 (ko) 1998-11-03 1999-11-01 컴퓨터 구성요소들 간의 개선된 인터페이스 방법 및 장치

Country Status (9)

Country Link
US (1) US6145039A (ko)
EP (1) EP1127318B1 (ko)
KR (1) KR100417839B1 (ko)
CN (1) CN1253802C (ko)
AU (1) AU1461000A (ko)
DE (1) DE69936060T2 (ko)
HK (1) HK1036853A1 (ko)
TW (1) TW476885B (ko)
WO (1) WO2000026798A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946683B2 (en) 2014-12-24 2018-04-17 Intel Corporation Reducing precision timing measurement uncertainty

Families Citing this family (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3592547B2 (ja) 1998-09-04 2004-11-24 株式会社ルネサステクノロジ 情報処理装置および信号転送方法
US6665807B1 (en) 1998-09-04 2003-12-16 Hitachi, Ltd. Information processing apparatus
US20030110317A1 (en) * 1998-11-03 2003-06-12 Jasmin Ajanovic Method and apparatus for an improved interface between a memory control hub and an input/output control hub
US6362826B1 (en) * 1999-01-15 2002-03-26 Intel Corporation Method and apparatus for implementing dynamic display memory
US6345072B1 (en) 1999-02-22 2002-02-05 Integrated Telecom Express, Inc. Universal DSL link interface between a DSL digital controller and a DSL codec
US6311285B1 (en) * 1999-04-27 2001-10-30 Intel Corporation Method and apparatus for source synchronous transfers at frequencies including an odd fraction of a core frequency
US6792495B1 (en) * 1999-07-27 2004-09-14 Intel Corporation Transaction scheduling for a bus system
US6813251B1 (en) * 1999-07-27 2004-11-02 Intel Corporation Split Transaction protocol for a bus system
US6687240B1 (en) * 1999-08-19 2004-02-03 International Business Machines Corporation Transaction routing system
US6636912B2 (en) * 1999-10-07 2003-10-21 Intel Corporation Method and apparatus for mode selection in a computer system
US6721859B1 (en) * 1999-10-21 2004-04-13 Sony Corporation Multi-protocol media storage device implementing protocols optimized for storing and retrieving both asynchronous and isochronous data
US6496895B1 (en) * 1999-11-01 2002-12-17 Intel Corporation Method and apparatus for intializing a hub interface
US6516375B1 (en) 1999-11-03 2003-02-04 Intel Corporation Peripheral component interconnect (PCI) configuration emulation for hub interface
US7039047B1 (en) 1999-11-03 2006-05-02 Intel Corporation Virtual wire signaling
US6347351B1 (en) * 1999-11-03 2002-02-12 Intel Corporation Method and apparatus for supporting multi-clock propagation in a computer system having a point to point half duplex interconnect
US6615306B1 (en) * 1999-11-03 2003-09-02 Intel Corporation Method and apparatus for reducing flow control and minimizing interface acquisition latency in a hub interface
US6560666B1 (en) * 1999-11-23 2003-05-06 Intel Corporation Hub link mechanism for impedance compensation update
US7512082B1 (en) * 1999-12-14 2009-03-31 Intel Corporation Tracking transaction status for a bus system providing legacy bus compatibility
US6542946B1 (en) * 2000-01-28 2003-04-01 Compaq Information Technologies Group, L.P. Dual mode differential transceiver for a universal serial bus
US6842813B1 (en) * 2000-06-12 2005-01-11 Intel Corporation Method and apparatus for single wire signaling of request types in a computer system having a point to point half duplex interconnect
US7720821B1 (en) 2000-06-30 2010-05-18 Sony Corporation Method of and apparatus for writing and reading time sensitive data within a storage device
EP1179785A1 (en) * 2000-08-07 2002-02-13 STMicroelectronics S.r.l. Bus interconnect system
US6877052B1 (en) 2000-09-29 2005-04-05 Intel Corporation System and method for improved half-duplex bus performance
US6910093B2 (en) * 2000-12-07 2005-06-21 Micron Technology, Inc. Method of pacing and disconnecting transfers on a source strobed bus
US7058823B2 (en) * 2001-02-28 2006-06-06 Advanced Micro Devices, Inc. Integrated circuit having programmable voltage level line drivers and method of operation
US6912611B2 (en) * 2001-04-30 2005-06-28 Advanced Micro Devices, Inc. Split transactional unidirectional bus architecture and method of operation
US6813673B2 (en) * 2001-04-30 2004-11-02 Advanced Micro Devices, Inc. Bus arbitrator supporting multiple isochronous streams in a split transactional unidirectional bus architecture and method of operation
US6785758B1 (en) 2001-06-01 2004-08-31 Advanced Micro Devices, Inc. System and method for machine specific register addressing in a split transactional unidirectional bus architecture
US6763415B1 (en) 2001-06-08 2004-07-13 Advanced Micro Devices, Inc. Speculative bus arbitrator and method of operation
US7028124B2 (en) * 2001-09-26 2006-04-11 Intel Corporation Method and apparatus for dual queue head processing of interrupt endpoints
US6889265B2 (en) 2001-11-05 2005-05-03 Intel Corporation Apparatus and method to allow and synchronize schedule changes in a USB enhanced host controller
US7006533B2 (en) * 2002-02-19 2006-02-28 Intel Corporation Method and apparatus for hublink read return streaming
US7043667B2 (en) * 2002-05-14 2006-05-09 Intel Corporation Debug information provided through tag space
US7120722B2 (en) * 2002-05-14 2006-10-10 Intel Corporation Using information provided through tag space
US20030217301A1 (en) * 2002-05-16 2003-11-20 Levy Paul S. Method and apparatus for transmitting side-band data within a source synchronous clock signal
US7133972B2 (en) 2002-06-07 2006-11-07 Micron Technology, Inc. Memory hub with internal cache and/or memory access prediction
US7117316B2 (en) 2002-08-05 2006-10-03 Micron Technology, Inc. Memory hub and access method having internal row caching
US6820181B2 (en) 2002-08-29 2004-11-16 Micron Technology, Inc. Method and system for controlling memory accesses to memory modules having a memory hub architecture
US7120743B2 (en) 2003-10-20 2006-10-10 Micron Technology, Inc. Arbitration system and method for memory responses in a hub-based memory system
US7330992B2 (en) 2003-12-29 2008-02-12 Micron Technology, Inc. System and method for read synchronization of memory modules
US7210000B2 (en) * 2004-04-27 2007-04-24 Intel Corporation Transmitting peer-to-peer transactions through a coherent interface
US20080005378A1 (en) * 2006-05-19 2008-01-03 Intel Corporation Chipset determinism for improved validation
US7702832B2 (en) * 2006-06-07 2010-04-20 Standard Microsystems Corporation Low power and low pin count bi-directional dual data rate device interconnect interface
US8806093B2 (en) * 2010-04-01 2014-08-12 Intel Corporation Method, apparatus, and system for enabling a deterministic interface
CN102133308A (zh) * 2011-03-04 2011-07-27 邹天琼 排毒化脂胶囊
TWI506443B (zh) * 2012-12-27 2015-11-01 Mediatek Inc 處理器與週邊裝置之間的媒介週邊介面及其通信方法
CN117290278A (zh) * 2023-10-10 2023-12-26 合芯科技有限公司 芯片内硬件互联结构、芯片、服务器及方法

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4033417A1 (de) * 1990-10-20 1992-04-23 Basf Ag Verfahren zur herstellung von mit metalloxiden dotierten zinkoxidpigmenten
US5191649A (en) * 1990-12-21 1993-03-02 Intel Corporation Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
JP3411300B2 (ja) * 1992-02-18 2003-05-26 株式会社日立製作所 情報処理装置
US5553310A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation Split transactions and pipelined arbitration of microprocessors in multiprocessing computer systems
US5687388A (en) * 1992-12-08 1997-11-11 Compaq Computer Corporation Scalable tree structured high speed input/output subsystem architecture
US5590292A (en) * 1992-12-08 1996-12-31 Compaq Computer Corporation Scalable tree structured high speed input/output subsystem architecture
US5469435A (en) * 1994-01-25 1995-11-21 Apple Computer, Inc. Bus deadlock avoidance during master split-transactions
US5533204A (en) * 1994-04-18 1996-07-02 Compaq Computer Corporation Split transaction protocol for the peripheral component interconnect bus
US5546546A (en) * 1994-05-20 1996-08-13 Intel Corporation Method and apparatus for maintaining transaction ordering and arbitrating in a bus bridge
US5621897A (en) * 1995-04-13 1997-04-15 International Business Machines Corporation Method and apparatus for arbitrating for a bus to enable split transaction bus protocols
US5996036A (en) * 1997-01-07 1999-11-30 Apple Computers, Inc. Bus transaction reordering in a computer system having unordered slaves
US5933612A (en) * 1995-05-02 1999-08-03 Apple Computer, Inc. Deadlock avoidance in a split-bus computer system
US5761444A (en) * 1995-09-05 1998-06-02 Intel Corporation Method and apparatus for dynamically deferring transactions
US5978874A (en) * 1996-07-01 1999-11-02 Sun Microsystems, Inc. Implementing snooping on a split-transaction computer system bus
US5911052A (en) * 1996-07-01 1999-06-08 Sun Microsystems, Inc. Split transaction snooping bus protocol
US5802055A (en) * 1996-04-22 1998-09-01 Apple Computer, Inc. Method and apparatus for dynamic buffer allocation in a bus bridge for pipelined reads
US6021456A (en) * 1996-11-12 2000-02-01 Herdeg; Glenn Arthur Method for communicating interrupt data structure in a multi-processor computer system
US6012118A (en) * 1996-12-30 2000-01-04 Intel Corporation Method and apparatus for performing bus operations in a computer system using deferred replies returned without using the address bus
US5870567A (en) * 1996-12-31 1999-02-09 Compaq Computer Corporation Delayed transaction protocol for computer system bus
US5832243A (en) * 1996-12-31 1998-11-03 Compaq Computer Corporation Computer system implementing a stop clock acknowledge special cycle
US5918025A (en) * 1996-12-31 1999-06-29 Intel Corporation Method and apparatus for converting a five wire arbitration/buffer management protocol into a two wire protocol
US5930485A (en) * 1997-01-07 1999-07-27 Apple Computer, Inc. Deadlock avoidance in a computer system having unordered slaves
US5991824A (en) * 1997-02-06 1999-11-23 Silicon Graphics, Inc. Method and system for simultaneous high bandwidth input output
US5909594A (en) * 1997-02-24 1999-06-01 Silicon Graphics, Inc. System for communications where first priority data transfer is not disturbed by second priority data transfer and where allocated bandwidth is removed when process terminates abnormally
US5944805A (en) * 1997-08-21 1999-08-31 Advanced Micro Devices, Inc. System and method for transmitting data upon an address portion of a computer system bus during periods of maximum utilization of a data portion of the bus

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9946683B2 (en) 2014-12-24 2018-04-17 Intel Corporation Reducing precision timing measurement uncertainty

Also Published As

Publication number Publication date
KR20010092432A (ko) 2001-10-24
TW476885B (en) 2002-02-21
CN1253802C (zh) 2006-04-26
EP1127318A1 (en) 2001-08-29
EP1127318B1 (en) 2007-05-09
CN1348565A (zh) 2002-05-08
US6145039A (en) 2000-11-07
DE69936060T2 (de) 2008-01-10
AU1461000A (en) 2000-05-22
HK1036853A1 (en) 2002-01-18
EP1127318A4 (en) 2004-04-14
WO2000026798A1 (en) 2000-05-11
DE69936060D1 (de) 2007-06-21

Similar Documents

Publication Publication Date Title
KR100417839B1 (ko) 컴퓨터 구성요소들 간의 개선된 인터페이스 방법 및 장치
EP1226506B1 (en) Apparatus for initializing a computer interface
US6804735B2 (en) Response and data phases in a highly pipelined bus architecture
EP1046111B1 (en) Data transferring in source-synchronous and common clock protocols
US6993612B2 (en) Arbitration method for a source strobed bus
KR20040029010A (ko) 플로우 제어를 구현하는 범용 입출력 아키텍쳐, 프로토콜및 관련 방법
US6636912B2 (en) Method and apparatus for mode selection in a computer system
US6347351B1 (en) Method and apparatus for supporting multi-clock propagation in a computer system having a point to point half duplex interconnect
US6598104B1 (en) Smart retry system that reduces wasted bus transactions associated with master retries
US6516375B1 (en) Peripheral component interconnect (PCI) configuration emulation for hub interface
US6822976B1 (en) Method and apparatus for high throughput multiplexing of data
US6496895B1 (en) Method and apparatus for intializing a hub interface
US6480965B1 (en) Power management method for a computer system having a hub interface architecture
US6615306B1 (en) Method and apparatus for reducing flow control and minimizing interface acquisition latency in a hub interface
US6446154B1 (en) Method and mechanism for virtualizing legacy sideband signals in a hub interface architecture
KR100432701B1 (ko) 컴퓨터 구성요소 간의 개선된 인터페이스를 위한 방법 및장치
US6961799B2 (en) Method of detecting a source strobe event using change detection
US7039047B1 (en) Virtual wire signaling

Legal Events

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

Payment date: 20130104

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140103

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160104

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee