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

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

Info

Publication number
KR100432701B1
KR100432701B1 KR10-2002-7005314A KR20027005314A KR100432701B1 KR 100432701 B1 KR100432701 B1 KR 100432701B1 KR 20027005314 A KR20027005314 A KR 20027005314A KR 100432701 B1 KR100432701 B1 KR 100432701B1
Authority
KR
South Korea
Prior art keywords
interface
transaction
computer system
request packet
hub
Prior art date
Application number
KR10-2002-7005314A
Other languages
English (en)
Other versions
KR20020069007A (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 KR20020069007A publication Critical patent/KR20020069007A/ko
Application granted granted Critical
Publication of KR100432701B1 publication Critical patent/KR100432701B1/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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • 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
    • 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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4022Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network

Abstract

컴퓨터 시스템 내 한 개의 칩셋의 메모리 제어 허브와 입/출력 제어 허브 사이에 데이터를 전달하는 인터페이스. 인터페이스의 일 실시예는 양방향 데이터 신호 경로 및 한 쌍의 소스 동기 스트로브 신호를 포함한다. 데이터 신호 경로는 복수개의 분할 트랜잭션에 의해 복수개의 패킷으로 데이터를 전송한다. 또한, 복수개의 패킷은 요구 패킷 및, 필요한 경우에, 보상 패킷을 포함한다. 더욱이, 일 실시예에 있어서, 복수개의 요구 패킷은 트랜잭션 기술자를 포함한다.

Description

컴퓨터 구성요소 간의 개선된 인터페이스를 위한 방법 및 장치{METHOD AND APPARATUS FOR AN IMPROVED INTERFACE BETWEEN COMPUTER COMPONENTS}
현대의 컴퓨터 시스템들은 시스템 메모리(103)와 서로 연결된 중앙 처리 장치(CPU ; 101)를 포함한다(즉, CPU/메모리 하위시스템). 도 1에 도시된 바와 같이, 데이터 및 다른 복수개의 신호는 통상적으로 호스트 브리지(host bridge)(105)라 칭하는 구성요소를 통하여 CPU와 시스템 메모리간에 전달된다. 호스트 브리지(host bridge)(105)는 또한 컴퓨터 내 다른 복수개의 구성요소 및/또는 복수개의 하위시스템에 CPU/메모리 하위시스템으로의 인터페이스를 제공한다.
예를 들면, 도 1에 또한 도시된 바와 같이, 복수개의 주변 구성요소(예를 들면, 키보드(109), 디스크 드라이브(110) 및/또는 마우스(111))는 입/출력(I/O) 브리지(107)를 통하여 서로 연결될 수 있다. 입/출력(I/O) 브리지(107)는, 한편, 호스트 브리지(105)와 서로 연결되어, 복수개의 주변 장치와 CPU/메모리 하위시스템사이의 인터페이스를 제공할 수 있다.
한편, 부가적인 복수개의 외부 버스(예를 들면, 주변 구성요소 연결(Peripheral Component Interconnect ; 이하 PCI) 버스(113)) 또한 I/O 브리지(107)와 CPU/메모리 하위시스템간의 인터페이스에 결합할 수 있다. 결국, I/O 브리지(107)와 CPU/메모리 하위시스템 사이의 인터페이스는 외부 버스(113)(예를 들면, PCI)의 명세/요구들에 의해 더욱 복잡해지고 한정되는데, 여기서, 외부 버스(113)는 I/O 브리지(107)와 CPU/메모리 하위시스템 사이의 인터페이스에 결합한다.
결국, 주변 구성요소들과 프로세서/메모리 하위시스템들 사이의 개선된 인터페이스가 필요하다.
본 발명은 컴퓨터 시스템 분야에 관한 것으로, 특히, 복수개의 컴퓨터 구성요소 간의 개선된 인터페이스를 제공하는 분야에 관한 것이다.
본 발명은 실시예에 의해 설명되고, 첨부된 도면에 의해 제한되지 않으며, 참조로서 유사한 요소들을 나타낸다:
도 1은 종래의 기술에 관한 컴퓨터 구성요소들 간의 인터페이스를 실행하는 컴퓨터 시스템을 나타낸 예시도.
도 2는 컴퓨터 구성요소들 간의 개선된 인터페이스를 실행하는 컴퓨터 시스템의 일 실시예에 의한 블록도.
도 3은 인터페이스의 일 실시예에 의해 실행되는 분할 트랜잭션을 나타낸 타이밍도.
도 4는 컴퓨터 시스템 간의 일 계층의 개선된 다중 인터페이스를 실행하는 컴퓨터 시스템의 일 실시예의 블록도.
도 5는 일 실시예에 관한 데이터 패킷들의 전송 및 조정을 나타낸 타이밍도.
도 6은 일 실시예에 관한 데이터 패킷들의 흐름 제어를 나타낸 타이밍도.
도 7은 일 실시예에 관한 흐름 제어 동작에 응답하는 복수개의 단계를 나타낸 흐름도.
도 8은 일 실시예에 관한 물리적 신호 인터페이스를 나타낸 예시도.
도 9는 일 실시예에 관한 소스 동기 클록화를 나타낸 타이밍도.
도 10은 일 실시예에 관한 컴퓨터 구성요소들 간의 개선된 인터페이스를 실행하는 다중 프로세서들을 갖는 컴퓨터 시스템을 나타낸 예시도.
도 11은 CPU가 한 개의 컴퓨터 구성요소에 집적된 컴퓨터 구성요소들 간의개선된 인터페이스를 실행하는 컴퓨터 시스템의 일 실시예의 블록도.
도 12는 CPU 및 그래픽 유닛(graphics unit)이 한 개의 컴퓨터 구성요소에 집적된 컴퓨터 구성요소들 간의 개선된 인터페이스를 실행하는 컴퓨터 시스템의 일 실시예의 블록도.
본 발명은 컴퓨터 시스템 내 메모리 제어 허브(Memory Control Hub ; MCH)와 입/출력 제어 허브(Input/Output Control Hub ; ICH)간에 데이터를 전송하는 인터페이스를 제공하는데, 이러한 인터페이스는 분할 트랜잭션(transaction)을 통해 허브들간에 패킷 단위의 데이터를 전달하는 데이터 신호 경로, 및 명령어 신호 집합을 포함하고, 인터페이스에 직접적으로 연결된 외부 버스에 배타적으로, MCH와 ICH 사이에 점-대-점 접속을 제공한다.
컴퓨터 구성요소들 간의 개선된 인터페이스가 상술된다. 인터페이스는, 본원에서, 허브-인터페이스로 칭할 수 있다. 허브-인터페이스는 고협대역폭(narrow and high bandwidth) 인터페이스를 통하여 코어 로직(core logic)의 적층 블록을 연결하기 위한 인터페이스이다.
후술하는 설명에 있어서, 많은 세부사항이 설명된다. 하지만, 당업자에 있어서, 이러한 상세한 세부사항 없이 본 발명을 실시할 수 있음은 명백할 것이다. 한편, 공지된 구조들 및 장치들이 세부적이지 않은 블록도의 형식으로 도시되나, 이는 본 발명을 모호하게 하지 않기 위함이다.
도 2에 도시된 바와 같이, 허브-인터페이스의 일 실시예는 각각의 구성요소들에게 점-대-점 인터페이스를 제공한다. 하지만, 선택적 실시예에 있어서, 허브-인터페이스는 세 개 이상의 구성요소 간의 인터페이스를 제공할 수 있다.
더욱 자세하게는, 도 2는 칩셋(chipset)에 있어서 두 개의 이격된 구성요소(즉, 허브 에이전트들(agents))를 서로 연결하는 데에 사용되는 허브 인터페이스(204)의 일 실시예를 나타낸다. 허브 에이전트들은 두 개 이상의 이격된버스 및/또는 다른 형태의 통신 선들간의 중앙 접속을 제공한다.
예를 들면, 도 2에 더 나타낸 바와 같이, 칩셋은 메모리 제어 허브(MCH)(204) 및 입/출력(ICH) 허브(206)를 포함한다. 메모리 제어 허브(204)는, 도 2에 도시된 바와 같이, 하나 이상의 중앙 처리 장치(CPU)(208) 및 시스템 메모리(210)간의 상호연결/허브를 제공한다.
ICH(206)는 시스템 내의 다양한 주변 구성요소들(예를 들면, 키보드(218), 디스크 드라이브(224), 스캐너(222) 및/또는 마우스(220)) 간의 상호연결을 제공한다. 더욱이, 외부 버스들 및 그들의 에이전트들(즉, PCI 버스(212) 및 PCI 에이전트(214))은, 제어 허브(204)와 직접적으로 상호연결하는 대신에, ICH(206)와 상호연결함으로써, 메모리(210) 및 CPU(208)와 허브-인터페이스(202)를 통해 간접적으로 상호연결한다.
허브-인터페이스를 사용함으로써 메모리 허브(204) 및 ICH(206)를 상호연결하고, 개선된 억세스(access)가 I/O 구성요소들 및 CPU/메모리 하위시스템간에 제공된다(예를 들면, 증가된 대역폭, 프로토콜 비의존성 및 낮은 지연). 또한, 허브-인터페이스는 또한 I/O 적층 블록들을 위한 기간(backbone)을 제공함으로써, 컴퓨터 시스템의 범위성(scalability)을 개선할 수 있다(예를 들면, 베이스 데스크탑 플랫폼(base desktop platform)에서 하이-엔드(high-end) 데스크탑 플랫폼들 또는 워크스테이션 플랫폼으로의 업그레이드).
선택적 실시예에 있어서, CPU 및 MCH는, 도 11에 도시된 바와 같이, 한 개의 반도체 유닛(230)에 집적되는데, 여기서, 한 개의 반도체 유닛(230)은 허브-인터페이스를 통하여 ICH에 연결된다. 다른 선택적 실시예에 있어서, MCH 및 그래픽 유닛(232)(예를 들면, 제어/가속기)은, 도 12에 도시된 바와 같이, 한 개의 반도체 유닛(230)에 집적되는데, 여기서, 한 개의 반도체 유닛(230)은 허브-인터페이스를 통하여 ICH에 연결된다. 또 다른 선택적 일실시예에 있어서, MCH, 그래픽 유닛(232) 및 CPU는 한 개의 반도체 유닛(230)에 집적되는데, 여기서, 한 개의 반도체 유닛(230)은 허브-인터페이스를 통하여 ICH에 연결된다.
개선된 인터페이스를 제공하기 위하여, 허브-인터페이스는 하나 이상의 고유 특징을 포함한다. 일 실시예에 있어서, 트랜잭션들은 분할-트랜잭션 프로토콜을 기준으로 하는 패킷을 사용하는 허브-인터페이스를 통해 전송된다. 예를 들면, 요구 패킷은 트랜잭션을 시작하는데 사용되고, 분리된 완료 패킷은, 필요한 경우에, 순차적으로 트랜잭션을 종료하는데 사용될 수 있다.
도 3은 허브 인터페이스를 통한 분할 트랜잭션의 일례를 나타낸다. 도 3에 도시된 바와 같이, 허브 에이전트는 최초에 조정(302)을 통해 허브-인터페이스의 오너십(ownership)을 획득한다. 조정 이후에, 요구 위상(304)이 있다. 필요한 경우에는(예를 들면, 읽기 트랜잭션을 위해 데이터를 회수하는 경우에 있어서), 완료 위상(308)이 요구 위상을 따를 것이다. 하지만, 요구 위상 이전에, 응답하는 허브 에이전트는, 우선 허브-인터페이스의 오너십을 위해 조정(306)할 것이다.
요구 패킷 및 관련된 완료 패킷을 허브-인터페이스를 통하여 전송하는 시간 사이에, 분리된 관련없는 패킷이 아래에 상세히 설명하는 소정의 순서 법칙들에 따라 허브-인터페이스를 통하여 전송될 수 있다. 예를 들면, 주변 장치로부터 메모리까지의 읽기 요구의 경우에, 요구된 데이터를 제공하는 것은, 다수의 클록 사이클이 걸려서, 데이터를 완료 패킷 내에 회수하도록 준비할 수 있다. 요구된 데이터를 획득하는 데에 걸리는 시간 동안, 메모리 제어 허브(204)의 큐/파이프(queue/pipe) 내에 대기하는 분리된 관련없는 완료 및/또는 요구 패킷들이 ICH(206)로 전송될 수 있다.
더욱이, 도 3에 도시된 바와 같이, 각 요구 또는 완료는 인터페이스를 통하여 패킷으로서 전송된다. 쓰기 형 트랜잭션들에 대해서는, 데이터가 요구에 관련된다. 읽기 형 트랜잭션들에 대해서는, 데이터가 완료에 관련될 것이다. 어떤 경우에는, 완료 패킷이 단절된 경우를 위한 요구에 대해 한 개 이상의 완료가 있어서, 효과적으로 이를 다중의 완료 패킷들로 분할할 것이다.
또한, 일 실시예에 있어서, 허브-인터페이스는 트랜잭션의 속성들을 식별할 뿐 아니라 허브-인터페이스 트래픽의 라우팅(routing)을 위해 트랜잭션 기술자(descriptor)를 사용한다. 예를 들면, 기술자들은 등시성 또는 비동기로 트랜잭션을 정의하는데 사용될 수 있어서, 결과적으로, 소정의 프로토콜에 따라 조정될 수 있다.
더욱이, 일 실시예에 있어서, 인터페이스의 대역폭은 소스(source) 동기 클록 모드를 통해 데이터 패킷들을 전송하는 것에 의해 부분적으로 증가한다. 더욱이, 일 실시예에 있어서, 허브-인터페이스는 좁은 접속(예를 들면, 종래의 기술에 있어서 일반적으로 사용된 핀들/패드들(pins/pads) 보다 좁은)을 사용함에도 불구하고 증가된 대역폭을 제공한다.
하지만, 선택적 실시예에 있어서, 허브-인터페이스는 발명의 범위를 벗어나지 않은 채로 상술한 모든 고유 특성을 갖지 않고도 실행될 수 있다. 더욱이, 허브-인터페이스는 또한 발명의 범위를 벗어나지 않은 채로 브리지 및/또는 칩셋 내 또는 외부의 다른 구성요소들을 상호연결하는 데에 사용된다.
트랜잭션, 프로토콜 및 물리 계층들
보다 상세하게는, 허브-인터페이스가 세 개의 부분으로 기술된다: 트랜잭션 계층; 프로토콜 계층; 및 물리적 계층. 하지만, 계층들 간의 차이점은 한정적인 것으로보다는 예시적인 것으로 다루어져야 하므로, 특히 바람직한 실시예에 한정되는 것이 아니다.
트랜잭션 계층
허브-인터페이스의 일 실시예에 있어서, 트랜잭션 계층은 허브 인터페이스(이는 하나 이상의 패킷을 포함할 수 있다)를 통하여 전송되는 분리된 트랜잭션들의 라우팅을 유지한다. 예를 들면, 일 실시예에 있어서, 허브-인터페이스의 트랜잭션 계층은 트랜잭션 기술자들을 생성하고, 이는 복수개의 요구 및 데이터 패킷들을 포함한다. 트랜잭션 기술자들은 허브 에이전트(예를 들면, MCH) 내의 복수개의 큐간의 조정을 유지하고, 허브-인터페이스를 통해 복수개의 요구 및 데이터 패킷들의 라우팅을 용이하게 하는 데에 사용될 수 있다.
예를 들면, 일 실시예에 있어서, 트랜잭션 기술자들은 최초로 공급된(요구 패킷 내에) 라우팅 정보를 기준으로 요구-개시 에이전트로 돌아오는 완료 패킷들의 라우팅을 유지한다. 트랜잭션 기술자들은 또한 허브 에이전트들 내의 패킷-디코딩로직을 감소시키는 것을 돕거나 가능케 한다.
선택적 실시예들에 있어서, 트랜잭션 기술자들은 또한 각각의 트랜잭션 속성들을 기준으로 복수개의 요구의 조정을 구분할 수 있게 한다. 예를 들면, 트랜잭션 기술자들 내에서 식별된 트랜잭션 속성들은 그 동작이 등시적인 것으로 식별된다(즉, 고정 량의 데이터가 일반적인 기반 하에 이동하는 동작들;예를 들면, 영상 또는 음성 실시간 동작들). 결국, 이러한 동작들은, 트랜잭션 속성들에 의해 식별된 바와 같이, 특별한 형태의 동작을 유지하기 위해, 관련된 소정의 라우팅 프로토콜에 따라 조정될 수 있다(예를 들면, 등시).
일 실시예에 있어서, 트랜잭션 기술자는 두 개의 필드(field)를 포함한다: 라우팅 필드 및 속성 필드. 선택적 실시예에 있어서, 발명의 범위를 벗어나지 않고, 더 많거나 적은 필드들이 사용되어 트랜잭션 기술자들의 한 개 이상의 기능을 제공할 수 있다.
일 실시예에 있어서, 라우팅 필드는, 하기 표 1에 도시된 바와 같이, 패킷 라우팅에 사용되는 6비트 필드이다. 라우팅 필드의 크기는, 속성 필드와 마찬가지로, 본 발명의 범위 내에서 변화할 수 있다.
트랜잭션 기술자의 라우팅 필드
표 1에 도시된 바와 같이, 라우팅 필드의 3비트는 허브 ID를 위해 사용되어 트랜잭션이 시작되는 허브 에이전트를 식별한다. 선택적 실시예들에 있어서, 8을 초과하는 허브-인터페이스 계층을 제공하기 위해, 부가적인 비트들이 라우팅 필드 내에 사용될 수 있다.
예를 들면, 시스템 내에 다중의 허브-인터페이스 계층들이 존재할 수 있어서, 이러한 경우에, 계층들 중 꼭대기의 에이전트는 계층의 밑바닥으로 돌아가는 복수개의 완료를 라우팅할 수 있다. 본원에 있어서, "계층"은 허브-인터페이스 "루트(root)" 에이전트(예를 들면, 메모리 제어 허브)로부터 시작하는 다중의 접속된 허브-인터페이스 세그먼트들을 포함한다. 예를 들면, 도 2는 오직 한 개의 허브-인터페이스 계층을 갖는 시스템을 나타낸다. 하지만, 도 4는, 두 개의 허브-인터페이스 계층들을 기초로 하는 시스템의 일 실시예를 나타낸다. 오직 한 개의 허브-인터페이스 계층을 실행하는 실시예들에 있어서, "000"의 디폴트 값(default value)은 허브 ID 필드로 사용될 수 있다.
남은 3비트의 라우팅 필드는 허브-인터페이스 에이전트 내에서 내부 파이프들/큐들을 식별하는 데 사용될 수 있다. 예를 들면, ICH는 분리된 "파이프"를 통해 내부 USB(Universal Serial Bus) 호스트 제어 트래픽(traffic) 및 버스 마스터링(Bus Mastering ; BM) ID 트래픽을 유지할 수 있다. 이와 같이, 파이프 ID는 서비스 에이전트(예를 들면, MCH)와 통신하는 데에 사용되고, 다른 "파이프들"에 의해 시작된 트래픽은 다른 속성들을 가지며, 소정의 프로토콜에 따라 조정될 수 있다. 허브-인터페이스 에이전트는 다른 내부 파이프들을 실행하지 않으면, 파이프 ID 필드 내 "000"의 디폴트 값을 사용할 수 있다.
선택적 일 실시예에 있어서, 트랜잭션 기술자들은 부가적으로 속성 필드를 포함한다. 일 실시예에 있어서, 속성 필드는 3비트 값이고, 목표 허브-인터페이스 에이전트가 트랜잭션을 수신할 때 그 트랜잭션이 조정되는 방법을 특정화한다. 어떤 경우에는, 속성 필드가 적응 작업부하(application workload)를 요구하는 시스템 유지를 돕는데, 이는 이동 및 특별한 복수개의 요구 또는 다른 차동 특성들을 갖는 데이터의 처리에 의존한다.
예를 들면, 속성 필드는 장치들간 데이터의 등시적 이동을 유지할 수 있는데, 이는 몇몇의 최근에 개발된 외부 버스들에 의해 사용되는 것과 같다(예를 들면, IEEE 1394 및 USB). 이러한 복수개의 데이터 이동 요구는 I/O 장치들 및 CPU/메모리 하위시스템 간의 허브-인터페이스를 통한 데이터 흐름들로써 유지될 필요가 있다.
선택적 실시예들에 있어서, 부가적 트랜잭션 속성들은 캐시 간섭이 하드웨어(즉, 칩셋)에 의해 실행되는 "스눕된(snooped)" 트래픽과 시스템 내의 데이터 간섭을 확보하기 위해 소프트웨어 방식에 의존하는 "스눕되지 않은(non-snooped)" 트래픽 사이를 차별화하는 기능을 포함할 수 있다. 더욱이, 다른 가능 속성은 "명백하게 선취가능한(explicitly prefetchable)" 힌트가 되어, 읽기 캐시화의 형식을 유지하고 주 메모리 대역폭의 더욱 효과적인 사용을 가능하게 한다.
순서 법칙들
트랜잭션 기술자들은 또한 허브-인터페이스를 통해 전송되는 트랜잭션들간의순서 법칙들을 유지하는 데에 사용될 수 있다. 예를 들면, 일 실시예에 있어서, 식별 트랜잭션 기술자들을 갖는 트랜잭션들은 강한 순서대로 수행된다(즉, 선착순 처리(first come-first serve)).
하지만, 동일한 라우팅 필드를 갖지만 다른 속성 필드들을 갖는 트랜잭션들은, 각각에 대해 리오더될(reordered) 수 있다. 예를 들면, 일 실시예에 있어서, 등시적 트랜잭션들은 비동기식 트랜잭션들에 비해 강하게 순서를 매길 필요는 없다.
또한, 허브-인터페이스 인터페이스의 일 실시예에 있어서, 데이터 트랜잭션들이 복수개의 요구에 따라 동일한 방향 또는 반대 방향으로 진행하도록 허용된다. 한 방향으로 흐르는 복수개의 읽기 완료는 동일한 방향으로 흐르는 복수개의 읽기 요구를 통과하도록 허용된다. 또한, 복수개의 쓰기 요구는 동일한 방향으로 흐르는 복수개의 읽기 요구를 통과하도록 허용된다.
하지만, 선택적 실시예들에 있어서, 허브-인터페이스 인터페이스를 통해 이동하는 트랜잭션에 대한 순서 법칙들은, 본 발명의 범위 내에서 변화할 수 있다. 예를 들면, 일 실시예에 있어서, 허브-인터페이스는 PCI(개정 2.2) 내에 제공되는 순서 법칙들을 실행하여 허브-인터페이스를 통하는 반대 방향의 트래픽 흐름을 결정한다.
프로토콜 계층
일 실시예에 있어서, 허브-인터페이스는 두 형태의 패킷을 갖는 패킷-기준 프로토콜을 사용한다: 요구 및 완료. 요구 패킷은 각 허브-인터페이스 트랜잭션을위하여 사용된다. 완료 패킷들은 요구된 곳에 사용되는 데, 예를 들면, 읽기 데이터를 회수하거나, 일정한 형태의 쓰기 트랜잭션들의 완료를 승인하기 위한 것이다(예를 들면, 요구된 완료를 갖는 복수개의 I/O 쓰기 및 복수개의 메모리 쓰기). 완료 패킷들은 관련된 요구 패킷들과 트랜잭션 기술자들 및 순서에 의해 관계되는데, 이는 트랜잭션 계층의 항목에서 기술된 바와 같다.
또한, 일 실시예에 있어서, 허브-인터페이스 인터페이스는 대칭적이고 분산된 조정 프로토콜을 사용한다. 예를 들면, 각 허브 에이전트는 요구 신호를 구동하는데, 이는 동일한 인터페이스에 부착된 다른 에이전트에 있어서도 관찰된다. 용인 신호는 사용되지 않고, 에이전트들은 인터페이스의 오너십을 독립적으로 결정한다.
더욱이, 일 실시예에 있어서, 명시적 프레임화 신호는 사용되지 않는다. 인터페이스의 에이전트 오너십을 주는 조정 이벤트(event)와 에이전트의 전송 시작 사이에 내재된 관계가 있다. 선택적 실시예에 있어서, 프레임화 신호들은 본 발명의 범위를 벗어나지 않은 채로 사용될 수 있다.
패킷 전송의 끝은 인터페이스를 소유하는(예를 들면, 전송 데이터의 처리 중에 있는) 허브-인터페이스 에이전트가 요구 신호를 디어써팅함(de-asserting)으로써 인터페이스의 제어를 해제하는 때에 발생한다. 또한, 일 실시예에 있어서, 흐름 제어는 또한 멈춤(STOP) 신호를 사용하여 패킷들을 재시도하거나 단절함으로써 달성되는데, 이에 관해서는 아래에 상세히 기술된다.
패킷 정의
허브-인터페이스의 일 실시예에 있어서, 데이터는 허브-인터페이스클록(HLCK)의 다중 배율(예를 들면, 1×, 4×, 8×)로 전송되는데, 일 실시예에 있어서, 이는 허브-인터페이스에 의해 결합된 허브 에이전트들에 의해 분할된 공통 클록이다. 데이터는 허브-인터페이스의 데이터 신호 경로(PD)를 통해 전송되는데, 이는 2의 몇 제곱(예를 들면, 8, 16, 24, 32)의 "인터페이스 폭"을 갖는다. 결국, 허브-인터페이스는 다양한 데이터 전달 입상(granularity)(즉, 복수개의 전달 폭)을 가질 수 있는데, 이는 데이터 신호 경로의 전달 율 및 폭에 의존한다. 예를 들면, 4× 모드의 8비트 인터페이스 폭의 경우에 있어서, 전달 폭은 HLCK 당 32비트이다. 결국, 데이터 신호 경로 의 전달 율 및/또는 인터페이스 폭을 다르게 함으로써, 전달 폭(즉, HLCK 당 전달되는 바이트의 수)의 크기가 확장될(scaled) 수 있다.
더욱이, 일 실시예에 있어서, 패킷들은 복수개의 전달 폭보다 클 수 있다. 결국, 패킷들은 다중 섹션들(sections)(즉, 복수개의 패킷 폭) 내에서 전송된다. 일 실시예에 있어서, 패킷은 더블 워드(32비트)의 크기인 복수개의 패킷 폭으로 분할된다.
32비트 전달 폭의 경우에 있어서, 패킷 폭의 복수개의 바이트는, 표 2에 도시된 바와 같이, 가장 덜 중요한 바이트(the least significant byte)(바이트 0)로 시작하고 가장 중요한 바이트(the most significant byte)(바이트 3)로 끝나는 인터페이스 상에 현존한다. 64비트 전송 폭의 경우에 있어서(예를 들면, 4× 모드의 16비트 폭의 인터페이스), 덜 중요한 더블-워드(패킷 폭)는 데이터 신호의 낮은 바이트들(예를 들면, PD[0:7])로 전달되고, 더 중요한 더블-워드(패킷 폭)는 병렬적으로 데이터 신호의 높은 바이트들(예를 들면, PD[15:8])로 전달된다. 두 개의 예시가 아래 표 2에 도시된다.
8 및 16비트 인터페이스 폭에 대한 바이트 전송의 순서
허브-인터페이스 인터페이스의 프로토콜 계층은 또한 데이터를 프레임화하는 역할을 한다. 이와 같이, 프레임화 법칙들은 복수개의 전달 폭의 집합 상에 한 개 이상의 패킷 폭을 대응시키는 방법을 정의하는 허브 인터페이스에 의해 실행된다. 패킷 폭으로의 패킷들의 파싱(parsing)을 단순화하기 위해, 허브-인터페이스의 일 실시예에 있어서, 후술하는 프레임화 법칙들이 실행된다: 패킷의 헤더 섹션은 전달 폭의 제1 바이트에서 시작한다; 패킷의 데이터 섹션은(현존한다면) 전달 폭의 제1 바이트에서 시작한다; 그리고, 패킷은 정수 개의 전달 폭을 점유한다.
패킷에 의해 소비되지 않는 어떤 가능한 복수개의 전달 폭도 더블 워드(DW) 전송으로 채워질 수 있고, 수신 허브 에이전트에 의해 무시될 수 있다. 선택적 실시예들에 있어서, 더 많거나, 적거나, 및/또는 다른 프레임화 법칙들이 본 발명의범위 내에서 허브-인터페이스에 의해 사용될 수 있다.
아래에 도시된 표 3 및 표 4는, 64비트 전달 폭의 경우에 대하여 위에 주어진 프레임화 법칙들의 예를 나타낸다.
주소 및 데이터의 세 개의 더블 워드를 포함하도록 32비트를 사용하는 요구
주소 및 데이터의 세 개의 더블 워드를 포함하도록 64비트를 사용하는 요구
요구 패킷들
요구 패킷들에 대한 패킷 헤더 형식은, 일 실시예에 따라, 아래 표 5 및 표 6에 도시되어 있다. 표 5 및 표 6에 도시된 예시들에 있어서, 기준 헤더는 한 개의더블 워드이고, 32비트 주소화를 위해 한 개의 부가적 더블 워드가 요구되며, 64비트 주소화 모드를 위해 두 개의 부가적 더블 워드가 요구된다. 복수개의 헤더의 필드는, 표 5 및 표 6에 도시된 바와 같이, 아래 표들에 기술되어 있다.
허브-인터페이스의 선택적 실시예들에 있어서, 요구 패킷의 헤더 내에 포함된 복수개의 필드는 본 발명의 범위를 벗어나지 않고 변할 수 있다. 예를 들면, 헤더는 더욱 부가하거나, 더 적거나, 또는 다른 필드들을 아래에 도시된 필드의 위치에 포함할 수 있다. 더욱이, 필드들의 부호화는 또한 본 발명의 범위를 벗어나지 않고 변화시킬 수 있다.
32비트 주소화를 위한 요구 패킷 헤더 형식
64비트 주소화를 위한 요구 패킷 헤더 형식
트랜잭션 기술자 상술한 트랜잭션 기술자 라우팅 및 속성 필드들.
rq/cp 이 위치에서 요구 패킷들은 '0'으로 식별되고 완료 패킷들은 '1'로 식별된다.
cr 완료가 요구되거나('1') 완료가 요구되지 않는다('0').
r/w 읽기('0') 또는 쓰기('1'). 이 필드는 데이터가 완료(읽기) 또는 요구(쓰기)를 포함할 것인지를 표시한다.
주소 형식(af) 주소 형식은 묵시적이거나('0') 32/64비트('1')이다.
잠금(Lock;lk) 요구가 잠금 시퀀스의 일부인 것을 나타내는 플래그. 잠금 시퀀스 내의 복수개의 요구 및 복수개의 완료는 이러한 비트 집합을 가질 것이다. 허브 에이전트들은, 잠금을 이해하지 못하는 경우에, 이 플래그를 무시하고 이 필드를 '0'으로 채울 것이다.
데이터 길이(Data Length) 데이터 길이는 복수개의 더블 워드로 주어지는데, 나타내는 더블 워드의 수는 이 수에 1을 더하는 식으로 부호화된다. 그러므로, "000000"은 한 개의 더블-워드를 나타낸다.
공간 이 필드는 요구에 대한 도착지 형태를 선택한다. 일 실시예에 있어서, 가능한 도착지들은 메모리("00") 및 IO("01")를 포함한다.
제1 DW BE 메모리 또는 IO를 향한 어떤 읽기 또는 쓰기 요구의 제1 더블-워드를 위한 복수개의 바이트 인에이블. 복수개의 바이트 인에이블은 로우(low)로 활성화된다. 요구를 위해 한 개의 더블-워드만 있다면, 이 바이트 인에이블 필드가 사용된다. 일 실시예에 있어서, 바이트들이 인에이블되지 않고 메모리 또는 IO 읽기 또는 쓰기 요구를 하는 것은 법칙에 위반된다.
마지막 DW BE 어떤 읽기 또는 쓰기 요구의 마지막 더블-워드를 위한 복수개의 바이트 인에이블. 복수개의 바이트 인에이블은 로우(low)로 활성화된다. 요구를 위해 한 개의 더블-워드만 있다면, 이 필드는 비활성화("1111")되어야 한다. 복수개의 바이트 인에이블은 비접촉일 수 있다(예를 들면: "0101"). 이 필드는 특정 사이클에는 사용되지 않는데, 이는 "특별 사이클 부호화" 필드에 겹치기 때문이다.
Addr[31:2] 32비트 주소는 동일한 형태의 사이클에 대해서 PCI상에 있어서와 같이 생성된다. 이 더블-워드는 32 및 64 비트 주소화 모드를 위해 포함된다(그러나 묵시적 주소화 모드를 위한 것은 아님).
확장 주소(ea) 32비트 주소화('0') 또는 64비트 주소화('1')를 나타냄.
컨피그 형(Config Type;ct) 구성 사이클 전용으로, 이 비트는 0 형('0') 또는 1 형('1') 구성 사이클을 나타내는데 사용된다. 구성 사이클은 항상 32비트 주소화로 실행되므로, 이 비트는 "확장 주소" 비트와 겹쳐진다.
Addr[63:32] 64비트 주소화 모드를 위한 상위 어드레스 비트. 이 더블-워드는 64비트 주소화 모드를 포함한다.
완료 패킷들
완료 패킷의 헤더 형식이, 일 실시예에 따라, 아래 표 7에 도시되어 있다. 일 실시예에 있어서, 헤더는 한 개의 더블-워드이다. 헤더들의 필드는, 표 8에 도시된 바와 같이 후술하는 표에 기술되어 있다.
하지만, 허브-인터페이스의 선택적 실시예들에 있어서, 완료 패킷에 대한 헤더 내에 포함된 필드들은 본 발명의 범위 내에서 변화할 수 있다. 예를 들면, 헤더는 아래에 도시되고 기술된 바와 같은 필드의 위치에 부가적 필드나, 더 적은 필드, 또는 다른 필드들을 포함할 수 있다. 더욱이, 필드들의 부호화는 또는 본 발명의 범위를 벗어나지 않고 변화할 수 있다.
완료 패킷 헤더 형식
트랜잭션 기술자 트랜잭션 섹션에서 상술한 트랜잭션 기술자 라우팅 및 속성 필드들.
rq/cp 이 위치에서 완료 패킷들은 '1'로 식별된다.
r/w 읽기('0') 또는 쓰기('1'). 이 필드는 데이터가 완료(읽기) 또는 요구(쓰기)를 포함할 것인지를 표시한다.
잠금(Lock;lk) 요구가 잠금 시퀀스의 일부인 것을 나타내는 플래그. 잠금 시퀀스 내의 복수개의 요구 및 복수개의 완료는 이러한 비트 집합을 가질 것이다. 에이전트들은, 잠금을 이해하지 못하는 경우에, 이 플래그를 무시하고 이 필드를 '0'으로 채울 것이다.
데이터 길이(Data Length) 데이터 길이는 복수개의 더블 워드로 주어지는데, 나타내는 더블 워드의 수는 이 수에 1을 더하는 식으로 부호화된다. 그러므로, "000000"은 한 개의 더블-워드를 나타낸다.
완료 상태 소정의 것을 사용한 완료 상태를 표시한다.
예비 모든 예비 비트는 '0'으로 세트된다.
허브-인터페이스의 일 실시예에 있어서, 복수개의 메모리 읽기에 대한 복수개의 완료는 모든 요구가 결국 완료되는 한에서는 요구된 데이터의 모든 양보다는 적게 제공할 수 있다. 이와 같이, 복수개의 메모리 쓰기에 대한 복수개의 완료는 모든 요구보다는 적게 완료되었음을 표시할 수 있다. 이는 특정한플랫폼(platform)에 대한 특정한 허브-인터페이스 인터페이스 지연 요구를 만족하도록 한다.
더욱이, 완료를 요구하는 요구에 대하여, 개시자(initiator)는, 일 실시예에 있어서, 요구에 대한 정보를 유지하고, 시작 허브 에이전트의 버퍼에 이를 저장시킬 수 있다. 예를 들면, 이 정보는 트랜잭션 기술자, 패킷의 크기, 잠금 상태, 라우팅 정보 등을 포함할 수 있다. 더욱이, (복수개의) 완료를 수신할 때, 개시자는 완료를 관련된 요구에 대응시킨다. 복수개의 다중 완료의 경우에, 개시자는 원래의 요구가 완전히 완료될 때까지 원래의 요구에 대해 완료된 데이터의 계수를 누산한다.
인터페이스-조정 및 패킷 프레임화
허브-인터페이스 인터페이스의 일 실시예에 있어서, 인터페이스가 유휴 상태에 있으면, 인터페이스에 접속된 허브 에이전트로부터의 요구의 어써션(assertion)은, 조정 이벤트에서 고려된다. 요구를 위한 제1 에이전트는 인터페이스의 오너십을 획득한다. 허브-인터페이스가 유휴 상태일 때 에이전트들이 순간적으로 오너십을 요구하면, 가장 이전에 서비스된 허브 에이전트가 획득한다. 일 실시예에 있어서, 모든 허브 에이전트들은 가장 이전에 서비스된 상태를 따른다(예를 들면, 내부 레지스트의 상태 플래그를 통해). 선택적 실시예에 있어서, 선택적 조정 경로들은 본 발명의 범위 내에서 사용될 수 있다.
일단 허브 에이전트가 인터페이스의 오너십을 얻으면, 그 트랜잭션이 완료될 때까지, 또는 할당된 시간 대역폭이 소진될 때까지 인터페이스를 소유한다. 예를들면, 일 실시예에 있어서, 타임슬라이스(timeslice) 계수기가 각 허브 에이전트 내에 제공되어 대역폭 할당을 제어하고, 에이전트의 인터페이스 오너십 보유를 제한하게 된다. 허브 에이전트에 할당된 시간(즉, 타임슬라이스 값)은 동일한 인터페이스에 부착된 복수개의 허브-인터페이스 에이전트에 대해 다르거나 동일할 수 있다. 타임슬라이스 계수기는 인터페이스 오너십을 획득하여 시작되고, 허브-인터페이스 기준 클럭 주기를 계수한다.
일 실시예에 있어서, 각 허브 에이전트는 그 소유의 타임슬라이스 할당을 관리하는 역할을 한다. 이와 같이, 일 실시예에 있어서, 타임슬라이스 값은 허브 에이전트 내 각 인터페이스에 대한 허브-인터페이스 명령 레지스터를 통해 프로그래밍될 수 있다.
도 5는 허브 에이전트 A 및 에이전트 B 간의 허브-인터페이스 인터페이스 및 두 개의 패킷의 전달에 대한 조정의 예시를 나타낸다. 예시는 유휴 인터페이스 상태를 벗어난 후 다시 유휴 상태로 돌아오는 인터페이스의 조정을 나타낸다. 더욱이, 나타낸 예시에 있어서, 인터페이스는 8비트 데이터 신호(PD) 경로를 갖는 4× 데이터 전달 모드를 사용하고 있다. 에이전트 A는, 도 5에 도시된 예시에 있어서, 가장 최근에 서비스된(the most recently serviced ; MRS) 에이전트이다. 결국, 에이전트 A는 그 외부 요구 신호(RQA)를 어써팅하고, 에이전트 B의 요구 신호(RQB)의 상태를 클록 에지 1(비활성화된 것으로 도시됨)에서 동일한 에지를 벗어나 패킷 전송을 시작하기 전에 샘플링한다.
일 실시예에 있어서, 전송된 데이터(즉, 에이전트 A로부터의 데이터)가 수신기(즉, 에이전트 B) 내에서 최초로 유효화되기 전에 두 클럭 지연이 있고, 클록 에지 3에서 시작한다. 제1 패킷은 두 개의 더블-워드(502 및 504)를 포함하고, 4× 모드로 전송되는데 두 개의 기준 클럭을 요구한다. 제2 패킷은 세 개의 더블-워드(506, 508 및 510)를 포함하고, 4× 모드로 전송되고, 그러므로 세 개의 기준 클럭을 요구한다.
흐름 제어
일 실시예에 있어서, 패킷들은 수신 에이전트에 의해 재시도되거나 단절될 수 있는데, 이는 요구 큐 공간, 데이터 버퍼 공간의 부족, 또는 다른 이유에 기인한다. 일 실시예에 있어서, 흐름 제어는 STOP 신호를 사용하여 달성된다.
도 6은 STOP 신호의 사용의 예시를 나타낸다. 도시된 바와 같이, 에이전트 A는 그 외부 요구 신호(RQA)를 어써팅하고, 에이전트 B의 요구 신호(RQB)의 상태를 클록 에지 1(비활성화된 것으로 도시됨)에서 동일한 에지(예를 들면, 클록 에지 1)를 벗어나 패킷 전송을 시작하기 전에 샘플링한다.
두 클럭 지연 후에, 에이전트 A로부터 전송된 데이터가 에이전트 B에서의 수신기 내에서 최초로 유효화되고, 클록 에지 3에서 시작한다. 일 실시예에 있어서, 에이전트 A로부터 전송된 데이터의 수신 후에, 에이전트 B에 대한 첫 번째 기회가 있고, 도 6에 도시된 바와 같이, 클록 에지 4에서 STOP 신호를 어써팅함에(asserting) 의해 흐름 제어를 규정한다.
또한, PD 신호의 오너십이 한 개의 허브 에이전트에서 다른 곳으로 바뀔 때, STOP 신호의 오너십은 또한 소정의 수의 클록 이후에 교환될 것이다. 더욱이, 일실시예에 있어서, STOP 신호는 기준 클록들 상에서 샘플링되고, 이는 패킷 폭의 최종 전송과 관련된다. 예를 들면, 4× 모드(8 비트 폭 PD 신호를 사용함)에 있어서, STOP 신호는 각 기준 클록에서 샘플링 된다. 하지만, 1× 모드에 대해, STOP 신호는 4개의 클록마다 샘플링된다(기준 점으로 사용되는 트랜잭션의 시작으로).
STOP 신호의 수신 후에, STOP 신호를 수신한 허브 에이전트는 부가적 패킷 송신이 재시도될 수 있는지를 결정한다. 도 7은, 일 실시예에 따른, 허브 에이전트에 의해 STOP 신호의 수신에 따라 패킷을 송신하는 것을 재시도할 수 있는 지를 결정하는 데에 있어서 수행되는 단계들을 기술한 흐름도이다.
단계(702)에 있어서, 현재 패킷을 전송하는 허브 에이전트가 STOP 신호를 수신한다. 이에 응하여, 단계(704)에서, STOP 신호를 수신한 허브 에이전트는, 다른 허브 에이전트 요구 신호(예를 들면, RQB)를 샘플링함으로써, (STOP 신호를 활성화했던) 다른 에이전트가 인터페이스의 오너십을 요구하고 있는지를 결정한다.
만약, STOP 신호의 수령이 STOP 신호를 송신하는 에이전트가 인터페이스의 오너십을 요구하지 않고 있다고 결정한다면, 단계(706)에서는, 인터페이스의 현재 소유자가 STOP으로부터의 회복 이후에 패킷을 전송하도록 시도할 수 있다. 다른 한편으로는, 만약 STOP 신호로 활성화된 에이전트가 오너십을 요구한다고 결정되면, 단계(708)에서, 현재의 소유자가 그 타임슬라이스가 소진되었는지 결정한다.
인터페이스의 현재 소유자를 위한 타임슬라이스가 소진되면, 단계(710)에서는, 현재 소유자가 오너십을 해제한다. 현재 소유자를 위한 타임슬라이스가 소진되지 않았다면, 현재의 소유자는 패킷을 간섭된 패킷과는 다른 속성으로 전송할 수있다. 더욱 자세하게는, 단계(712)에 있어서, 현재 소유자가 현 조정 세션(session)(즉, 현재 소유자의 보유 주기) 내에서 재시도된 어떤 패킷과도 다른 속성 형태를 갖는 패킷을 가지고 있는지를 결정하는데, 이는 전송되기 위해 필요하다.
현재 소유자는 다른 속성을 갖는 패킷을 가지고 있지 않다면, 단계(714)에서, 현재 소유자가 패킷을 전송하려는 시도를 할 수 있다. 아니면, 현재 소유자는 인터페이스의 오너십을 해제한다.
물리적 인터페이스
일 실시예에 있어서, 허브-인터페이스 인터페이스는 물리적 인터페이스를 실행하는데, 이러한 물리적 인터페이스는 66MHz 또는 100MHz의 기준 주파수에서 동작한다. 다른 주파수들도 또한 사용될 수 있다. 또한, 일 실시예에 있어서, 물리적 인터페이스는 소스 동기(Source Synchronous;SS;) 데이터 전달 기술을 사용하는데, 이러한 전달 기술은 4×의 기준 허브-인터페이스 클록에서 데이터를 전달하도록 쿼드-클록화될(quad-clocked) 수 있다. 결국, 66MHz 또는 100MHz의 기준 주파수에서 동작하는 8비트 데이터 인터페이스(예를 들면, PD)를 갖는 일 실시예에 있어서, 초당 266메가바이트(MB/s) 또는 400MB/s의 대역폭이 각각 얻어질 수 있다.
더욱이, 일 실시예에 있어서, 허브-인터페이스 인터페이스는 1.8V의 전압 동작을 유지하고, 상보성 금속 산화막 반도체 처리(CMOS) 신호화를 기준으로 한다. 그러나, 선택적 실시예들에 있어서, 인터페이스는 선택적 주파수 및/또는 선택적 크기의 데이터 인터페이스로 동작하여 다양한 대역폭을 제공할 수 있고, 선택적 동작 전압을 유지할 수 있는데, 이는 선택적 신호 처리를 기준으로 한 것이며, 본 발명의 범위를 벗어나지 않는다.
외부 신호 정의
도 8은 본 발명의 일 실시예에 따른 두 개의 허브 에이전트간의 허브-인터페이스의 물리적 신호 인터페이스를 나타낸다. 도 8에 도시된 바와 같이, 허브-인터페이스 물리적 인터페이스는 양방향 8비트 데이터 버스(PD[7:0])를 사용하고, 이는 데이터 클록화를 위한 다른 쌍의 소스 동기 스트로브 신호(PSTRBN, PSTRBP)를 갖는다. 선택적 일 실시예에 있어서, 인터페이스는 넓어질 수 있다. 예를 들면, 도 8에 도시된 바와 같이, 부가적 8비트 데이터 버스(PD[15:8])가 또한 한 쌍의 소스 동기 스트로브 신호(PSTRBN, PSTRBP)의 부가적 쌍과 함께 사용될 수 있다. 더욱이, 선택적 일 실시예에 있어서, 복수개의 단방향 데이터 신호가 사용될 수 있다.
또한, 한 개의 단방향 조정 신호는 각 에이전트와 나머지(RQa, RQb)를 접속시키고, 양방향 STOP 신호는, 상술한 바와 같이, 수신 에이전트에 의해 데이터 흐름을 제어하도록 사용된다. 복수개의 부가적 인터페이스 신호는 시스템 리셋(Reset), 공통 클록(HLCLK) 및 복수개의 전압 기준 신호(HLVREF)를 포함한다. 한편, 구동 출력 임피던스를 제조 및 온도 변화를 보상하기에 적합한 값으로 대응시키는 각 허브 에이전트(ZCOMP)를 위한 복수개의 신호도 또한 포함된다.
도 8에 도시된 인터페이스 내에 도시된 복수개의 물리적 신호들은 아래 표 8에서 더욱 자세히 기술된다. 허브-인터페이스의 일 실시예에 있어서, 물리적 인터페이스에 포함된 복수개의 신호는 본 발명의 범위를 벗어나지 않고 변화할 수 있다. 예를 들면, 물리적 인터페이스는 도 8에 도시되고 아래 표 8에 더 자세히 기술되는 복수개의 신호와는 다르게 더 많거나, 더 적거나 또는 다른 복수개의 신호를 포함할 수 있다.
복수개의 8비트 에이전트를 위한 허브-인터페이스 인터페이스
명칭 비트(패드) 형태 클록 모드 기술
PD[7:0] 8 ASTS1 SS2 복수개의 패킷 데이터 핀. 일 실시예에 있어서, 유휴 상태인 데이터 인터페이스가 복수개의 능동 유지기에 의해 구동된 마지막 전압 값으로 유지된다.
PSTRBP 1 ASTS SS 음의 PD 인터페이스 스트로브(디폴트 전압 레벨 = VSSHL) 및 양의 PD 인터페이스 스트로브(유휴 전압 레벨 = VCCHL) 모두 PD[7:0] 인터페이스 상에서 4× 및 1× 데이터 전달을 위한 타이밍을 제공한다. 데이터를 제공하고 있는 에이전트는 이 신호를 구동한다. PSTRBN 및 PSTRBP는 수신기에서 완전히 차동적으로 감지되어야 한다.
PSTRBN 1 ASTS SS 양의 PD 인터페이스 스트로브는, 상술한 PSTRBP 기술을 보라.
RQa 1 I/O CC3 허브-인터페이스 인터페이스의 오너십을 획득하기 위한 에이전트 A(A로부터 출력, B로 입력)로부터의 활성화된 하이(High) 요구. RQa는 에이전트 A가 송신가능한 데이터를 가지고 있을 때 어써팅되고, 에이전트 A의 데이터 모두가 송신되거나 에이전트 A가 인터페이스를 해제하여야 한다고 결정한 경우에 디어써팅된다(deasserted). 리셋 전압 값은 VSSHL이다.
RQb 1 I/O CC 에이전트 B로부터의 요구(B로부터 출력, A로 입력). 상술한 RQa의 기술을 보라
STOP 1 ASTS CC 파이프라인 흐름 제어가 사용되어 복수개의 패킷이 재시도되거나 단절된다.
HLCLK 1 I N/A 허브-인터페이스 기준 클록은, 일 실시예에 있어서, 66MHz 또는 100MHz이다. 이는 복수개의 공통 클록 신호에 대한 타이밍 정보를 제공한다(아래에 더 기술된다).
RESET# 1 I CC 복수개의 허브-인터페이스 에이전트로의 활성화 로우(Low) 리셋 표시.
HLVREF 1 I N/A 복수개의 차동 입력에 대한 전압 기준(VCCHL/2).일 실시예에 있어서, 전압은 전압 분주기를 통하여 마더보드 상에 생성된다.
HLZCOMP 1 I/O N/A 임피던스 보장을 제공한다.
VCCHL 4 전원 N/A 1.8V
VSSHL 4 접지 N/A
총합 25
1ASTS = Actively Sustained Tri-State
2SS = Source Synchronous Mode Signal
3CC = Common Clock Mode Signal
4일 실시예에 있어서, 리셋은 시스템-폭 신호이다; 이것은 시스템의 한 개의 구성요소로부터의 출력이고 다른 (복수개의) 구성요소로의 입력이다. 더욱이, 리셋은 HLCLK에 관하여 비동기적이다.
공통 클록 전달 모드 동작
일 실시예에 있어서, 허브-인터페이스 인터페이스를 통해 전송되는 많은 신호가 공통 클록 모드에 따라 전송된다. 더욱 자세하게는, 공통 클록 모드를 통해 전송되는 복수개의 신호의 타이밍은 단일 클록을 기준으로 한다(예를 들면, 허브-인터페이스 클록). 선택적 실시예들에 있어서, 복수개의 신호는, 복수개의 허브-인터페이스 에이전트와 관계없이, 시스템 클록에 묶일 수 있다. 더욱이, 시스템 내에 한 개 이상의 허브-인터페이스 세그먼트가 있을 수 있고, 이 경우에 다른 복수개의 기준 클록이 복수개의 다른 세그먼트에 사용될 수 있다. 예를 들면, 한 개의 구성요소가 66MHz 기준 허브-인터페이스 인터페이스와 100MHz 기준 허브-인터페이스 인터페이스를 모두 실행할 수도 있다.
소스 동기 전달 모드 동작
일 실시예에 있어서, 복수개의 패킷/데이터는 소스 동기 클록 모드를 사용하여 전송되고, 데이터의 데이터 전달 율을 다중화하기 위한 기술을 제공한다. 예를 들면, 8비트 데이터 신호 경로를 갖는 4× 소스 동기 클록화 모드를 사용하는 일 실시예에 있어서, 더블-워드(즉, 4바이트)를 전송하는 데는 단지 한 개의 허브-인터페이스 클록 사이클(HLCLK)을 요구한다. 한편, 8비트 데이터 신호 경로 상의 1× 소스 동기 클록화 모드를 사용한 더블 워드 전송은 모든 허브-인터페이스 클록 사이클을 요구하여 완료된다.
더욱 자세하게는, 소스 동기 전송의 일 실시예에 있어서, 복수개의 스트로브(예를 들어, PSTRBN/PSTRBP)는 복수개의 스트로브와 데이터간의 소정의 타이밍 관계에 따른 데이터 전달로서 송신된다. 복수개의 스트로브는 이후에 수신 허브 에이전트에 의해 데이터를 수신 허브 에이전트에 래치하는데(latch) 사용된다.
더욱 자세하게는, 일 실시예에 있어서, 복수개의 스트로브(PSTRBN/PSTRBP)의 에지는 수신 허브 에이전트에 의해 복수개의 데이터 경로를 통해 전달되는 데이터의 타이밍 및 존재를 식별하기 위해 사용된다. 예를 들면, 도 9의 타이밍도에 도시된 바와 같이, 일 실시예에 있어서 제1 데이터 전달은 PSTRBP의 상향 에지 및 PSTRBN의 하향 에지에 관계된다. 제2 데이터 전달은 PSTRBN의 상향 에지 및 PSTRBP의 하향 에지에 관계된다.
또한, 일 실시예에 있어서, 도 9에 더 도시된 바와 같이, 복수개의 스트로브(PSTRBN/PSTRBP)의 전송 에지는 데이터 유효 윈도우(window)의 중심 근처에 위치한다. 결국, 수신 에이전트가 입력 데이터 샘플링 윈도우에 주어져서, 다양한 시스템 타이밍 스큐(skews)에 적응하게 된다. 더욱이, 일 실시예에 있어서, 스트로브 에지 전의 최소 데이터 유효(tDvb) 및 스트로브 에지 후의 최소 데이터 유효(tDva)는 또한 수신 허브 에이전트에 의해 전송된 데이터를 식별하고 래치하는데 사용된다. 일단 수신 허브 에이전트가 입력 데이터를 래치하면, 데이터는 이후에 짧은 주기동안 유지되어 허브 에이전트와 함께 통과되기 전에 데이터를 허브-인터페이스 클록(HLCLK)과 재동기화한다.
상술한 명세서에 있어서, 본 발명은 특정의 예시적인 실시예를 기준으로 기술되었다. 그러나, 본 발명의 기술적 사상을 벗어나지 않고 다양한 변형 및 변경이 가능함은 명백하다. 예를 들면, 허브-인터페이스 인터페이스는, 일 실시예에 따라, 도 10에 나타난 바와 같이, 다중 프로세서를 갖는 컴퓨터 시스템에서 실행될 수도 있다. 결국, 명세서 및 도면은 예시적인 것일 뿐 한정적인 것이 아니다.

Claims (66)

  1. 컴퓨터 시스템 내 메모리 제어 허브(MCH)와 입/출력 제어 허브(ICH)간에 데이터를 직접 전달하는 인터페이스에 있어서,
    복수개의 분할 트랜잭션을 통해 복수개의 패킷 내에 데이터를 전송하는 데이터 신호 경로; 및
    복수개의 명령 신호의 집합
    을 포함하고,
    상기 인터페이스는, 인터페이스에 직접적으로 접속된 외부 버스를 배제하고, 상기 MCH 및 상기 ICH간의 점-대-점 접속을 제공하는
    인터페이스.
  2. 제1항에 있어서,
    상기 컴퓨터 시스템 내 상기 MCH 및 상기 ICH는 한 개의 칩셋 내의 복수개의 구성요소인
    인터페이스.
  3. 제1항에 있어서,
    제1 트랜잭션이, 상기 인터페이스의 오너십을 위한 조정을 받고, 요구 패킷에 따라 상기 인터페이스 상에서 시작되는
    인터페이스.
  4. 제3항에 있어서,
    상기 요구 패킷은 트랜잭션 기술자를 포함하는
    인터페이스.
  5. 제3항에 있어서,
    상기 제1 트랜잭션의 상기 요구 패킷에 따라 상기 인터페이스 상에서 완료 패킷이 전송되는
    인터페이스.
  6. 제3항에 있어서,
    상기 요구 패킷은 트랜잭션 기술자를 포함하고, 상기 완료 패킷은 그 대응하는 트랜잭션 기술자를 포함하는
    인터페이스.
  7. 제5항에 있어서,
    제2 트랜잭션을 위한 요구 패킷은 상기 제1 트랜잭션의 요구 패킷에 따라 상기 완료 패킷을 전송하기 전에 상기 인터페이스를 통해 전송될 수 있는
    인터페이스.
  8. 제3항에 있어서,
    상기 데이터 신호 경로는 확장할 수 있는(scalable)
    인터페이스.
  9. 제8항에 있어서,
    복수개의 패킷이 소스 동기 클록 모드에 의하여 상기 데이터 신호 경로를 통해 전송되는
    인터페이스.
  10. 제9항에 있어서,
    상기 인터페이스는 복수개의 양방향 데이터 신호, 제1 및 제2 소스 동기 스트로브 신호, 단방향 조정 신호 및 양방향 정지 신호의 집합을 포함하는
    인터페이스.
  11. 제10항에 있어서,
    상기 인터페이스는 시스템 리셋 신호, 공통 클록 신호 및 전압 기준 신호를 더 포함하는
    인터페이스.
  12. 제11항에 있어서,
    상기 복수개의 트랜잭션 기술자들은 적어도 세 개의 허브간의 다중 인터페이스의 계층 내의 분리된 복수개의 허브를 식별하는
    인터페이스.
  13. 제5항에 있어서,
    상기 요구 패킷은 완료 패킷이 각각의 요구 패킷에 따라 요구되는지를 표시하는 필드를 포함하는
    인터페이스.
  14. 제3항에 있어서,
    상기 복수개의 허브간의 조정은 대칭적이고 분산된
    인터페이스.
  15. 제3항에 있어서,
    허브에 소정의 시간까지 상기 인터페이스의 오너십이 할당된
    인터페이스.
  16. 컴퓨터 시스템 내 메모리 제어 허브(MCH)와 입/출력 제어 허브(ICH)간에 데이터를 직접 전달하는 인터페이스에 있어서,
    복수개의 분할 트랜잭션을 통해 복수개의 패킷으로 상기 MCH 및 상기 ICH 사이에서 데이터를 전송하는 제1 수단; 및
    복수개의 명령 신호를 전송하는 제2 수단
    을 포함하고,
    상기 인터페이스는, 인터페이스에 직접적으로 접속된 외부 버스를 배제하고, 상기 MCH 및 상기 ICH간의 점-대-점 접속을 제공하는
    인터페이스.
  17. 제16항에 있어서,
    상기 컴퓨터 시스템 내 상기 MCH 및 상기 ICH는 한 개의 칩셋 내의 복수개의 구성요소인
    인터페이스.
  18. 제17항에 있어서,
    상기 인터페이스는, 제1 트랜잭션을 요구 패킷을 갖는 상기 인터페이스 상에서 시작하는 수단을 포함하는
    인터페이스.
  19. 제18항에 있어서,
    상기 요구 패킷은 트랜잭션 기술자를 포함하는
    인터페이스.
  20. 제19항에 있어서,
    상기 인터페이스는 상기 제1 트랜잭션의 상기 요구 패킷에 따라 완료 패킷을제공하는 수단을 포함하는
    인터페이스.
  21. 제18항에 있어서,
    상기 요구 패킷은 트랜잭션 기술자를 포함하고, 상기 완료 패킷은 관련된 트랜잭션 기술자를 포함하는
    인터페이스.
  22. 제21항에 있어서,
    상기 인터페이스는 상기 제1 트랜잭션의 요구 패킷에 따라 상기 완료 패킷을 전송하기 전에 상기 인터페이스를 통해 제2 트랜잭션을 위한 요구 패킷을 전송하는 수단을 포함하는
    인터페이스.
  23. 제22항에 있어서,
    복수개의 분할 트랜잭션에 의해 복수개의 패킷 내에 데이터를 전송하는 상기 제1 수단은 상기 데이터 신호 경로를 확장할 수 있는 수단을 더 포함하는
    인터페이스.
  24. 제23항에 있어서,
    복수개의 패킷을 소스 동기 클록 모드에 의하여 상기 인터페이스를 통해 전송하는 수단을 포함하는
    인터페이스.
  25. 제21항에 있어서,
    상기 복수개의 트랜잭션 기술자들은 적어도 세 개의 허브간의 다중 인터페이스의 계층 내의 분리된 복수개의 허브를 식별하는 수단을 포함하는
    인터페이스.
  26. 제20항에 있어서,
    상기 요구 패킷은 완료 패킷이 각각의 요구 패킷에 따라 요구되는지를 표시하는 수단을 포함하는
    인터페이스.
  27. 제26항에 있어서,
    상기 인터페이스의 오너십을 위하여 상기 허브 사이를 조정하는 수단을 포함하는
    인터페이스.
  28. 제21항에 있어서,
    상기 인터페이스는 상기 복수개의 허브 중 한 개에 소정의 시간까지 상기 인터페이스의 오너십이 할당되도록 하는 수단을 더 포함하는
    인터페이스.
  29. 컴퓨터 시스템 내 한 개의 칩셋의 메모리 제어 허브와 입/출력(I/O) 제어 허브간에 데이터를 전달하는 인터페이스에 있어서,
    양방향 데이터 경로 및 한 쌍의 소스 동기 스트로브 신호 - 상기 데이터 신호 경로는 복수개의 분할 트랜잭션을 통해 복수개의 패킷 내에 데이터를 전송하고, 상기 복수개의 패킷은 요구 패킷 및 완료 패킷을 포함하며, 상기 요구 패킷은 트랜잭션 기술자를 포함한다 - ; 및
    단방향 조정 신호, 양방향 정지 신호, 시스템 리셋 신호, 공통 클록 신호 및전압 기준 신호를 포함하는 복수개의 명령 신호의 집합
    을 포함하고,
    상기 인터페이스는, 점-대-점 접속에 직접적으로 접속된 외부 버스를 배제하고, 상기 MCH 및 상기 ICH간의 점-대-점 접속을 제공하는
    인터페이스.
  30. 프로세서;
    상기 프로세서에 연결된 메모리 제어 허브(MCH);
    데이터를 MCH와 ICH간에 직접 전달하는 인터페이스에 의해 상기 MCH에 연결된 입/출력 제어 허브(ICH);
    복수개의 분할 트랜잭션을 통해 복수개의 패킷 내에 데이터를 전송하는 데이터 신호 경로를 가지고, 상기 인터페이스는 복수개의 명령 신호의 집합을 가지며, 상기 인터페이스는 점-대-점 접속에 직접적으로 접속된 외부 버스를 배제하고, 상기 MCH 및 상기 ICH간의 점-대-점 접속을 제공하는 상기 인터페이스; 및
    상기 ICH에 연결된 적어도 하나의 주변 구성요소
    를 포함하는 컴퓨터 시스템.
  31. 제30항에 있어서,
    상기 주변 구성요소는 PCI 에이전트인
    컴퓨터 시스템.
  32. 제31항에 있어서,
    상기 컴퓨터 시스템 내 상기 제1 및 제2 허브는 한 개의 칩셋 내의 복수개의 구성요소인
    컴퓨터 시스템.
  33. 제32항에 있어서,
    제1 트랜잭션이, 상기 인터페이스의 오너십을 위한 조정을 받고, 요구 패킷에 따라 상기 인터페이스 상에서 시작되는
    컴퓨터 시스템.
  34. 제33항에 있어서,
    상기 요구 패킷은 트랜잭션 기술자를 포함하는
    컴퓨터 시스템.
  35. 제33항에 있어서,
    완료 패킷은 상기 제1 트랜잭션의 상기 요구 패킷에 따라 상기 인터페이스 상에서 전송되는
    컴퓨터 시스템.
  36. 제35항에 있어서,
    상기 요구 패킷은 트랜잭션 기술자를 포함하고, 상기 완료 패킷은 관련된 트랜잭션 기술자를 포함하는
    컴퓨터 시스템.
  37. 제36항에 있어서,
    제2 트랜잭션을 위한 요구 패킷은 상기 제1 트랜잭션의 요구 패킷에 따라 상기 완료 패킷을 전송하기 전에 상기 인터페이스를 통해 전송될 수 있는
    컴퓨터 시스템.
  38. 제36항에 있어서,
    상기 데이터 신호 경로는 확장할 수 있는(scalable)
    컴퓨터 시스템.
  39. 제38항에 있어서,
    복수개의 패킷이 소스 동기 클록 모드에 의하여 상기 데이터 신호 경로를 통해 전송되는
    컴퓨터 시스템.
  40. 제39항에 있어서,
    상기 인터페이스는 복수개의 양방향 데이터 신호, 제1 및 제2 소스 동기 스트로브 신호, 단방향 조정 신호 및 양방향 정지 신호의 집합을 포함하는
    컴퓨터 시스템.
  41. 제40항에 있어서,
    상기 인터페이스는 시스템 리셋 신호, 공통 클록 신호 및 전압 기준 신호를 더 포함하는
    컴퓨터 시스템.
  42. 제41항에 있어서,
    상기 복수개의 트랜잭션 기술자들은 적어도 세 개의 허브간의 다중 인터페이스의 계층 내의 분리된 복수개의 허브를 식별하는
    컴퓨터 시스템.
  43. 제42항에 있어서,
    상기 요구 패킷은 완료 패킷이 각각의 요구 패킷에 따라 요구되는지를 표시하는 필드를 포함하는
    컴퓨터 시스템.
  44. 제43항에 있어서,
    상기 복수개의 허브간의 조정은 대칭적이고 분산된
    컴퓨터 시스템.
  45. 제44항에 있어서,
    허브에 소정의 시간까지 상기 인터페이스의 오너십이 할당된
    컴퓨터 시스템.
  46. 제31항에 있어서,
    컴퓨터 시스템은 다중 프로세서들을 포함하는
    컴퓨터 시스템.
  47. 제31항에 있어서,
    인터페이스에 의해 상기 ICH에 연결된 제3 허브를 더 포함하는 컴퓨터 시스템에서,
    양방향 데이터 경로 및 한 쌍의 소스 동기 스트로브 신호 - 상기 데이터 신호 경로는 복수개의 분할 트랜잭션을 통해 복수개의 패킷 내에 데이터를 전송하고, 상기 복수개의 패킷은 요구 패킷 및 완료 패킷을 포함하며, 상기 요구 패킷은 트랜잭션 기술자를 포함한다 - ; 및
    단방향 조정 신호, 양방향 정지 신호, 시스템 리셋 신호, 공통 클록 신호 및 전압 기준 신호를 포함하는 복수개의 명령 신호의 집합
    을 포함하는 컴퓨터 시스템.
  48. 제31항에 있어서,
    상기 컴퓨터 시스템의 프로세서 및 MCH는 한 개의 반도체 유닛 상에 집적되는
    컴퓨터 시스템.
  49. 제31항에 있어서,
    상기 컴퓨터 시스템의 MCH 및 그래픽 유닛은 한 개의 반도체 유닛 상에 집적되는
    컴퓨터 시스템.
  50. 컴퓨터 시스템 내 입/출력 제어 허브(ICH)로 데이터를 직접 전달하는 인터페이스에 있어서, 상기 인터페이스는, 복수개의 분할 트랜잭션을 통해 복수개의 패킷 내에 데이터를 전송하는 데이터 신호 경로, 및 복수개의 명령 신호의 집합을 포함하고, 상기 인터페이스는, 인터페이스에 직접적으로 접속된 외부 버스를 배제하고, 상기 MCH 및 상기 ICH간의 점-대-점 접속을 제공하는
    메모리 제어 허브(MCH).
  51. 제50항에 있어서,
    상기 MCH 및 상기 ICH는 한 개의 칩셋 내의 복수개의 구성요소인
    메모리 제어 허브.
  52. 제50항에 있어서,
    제1 트랜잭션이, 상기 인터페이스의 오너십을 위한 조정을 받고, 요구 패킷에 따라 상기 인터페이스 상에서 시작되는
    메모리 제어 허브.
  53. 제52항에 있어서,
    상기 요구 패킷은 트랜잭션 기술자를 포함하는
    메모리 제어 허브.
  54. 제53항에 있어서,
    상기 제1 트랜잭션의 상기 요구 패킷에 따라 상기 인터페이스 상에서 완료 패킷이 전송되는
    메모리 제어 허브.
  55. 제52항에 있어서,
    상기 요구 패킷은 트랜잭션 기술자를 포함하고, 상기 완료 패킷은 대응하는 트랜잭션 기술자를 포함하는
    메모리 제어 허브.
  56. 제55항에 있어서,
    제2 트랜잭션을 위한 요구 패킷은 상기 제1 트랜잭션의 요구 패킷에 따라 상기 완료 패킷을 전송하기 전에 상기 인터페이스를 통해 전송될 수 있는
    메모리 제어 허브.
  57. 제56항에 있어서,
    상기 데이터 신호 경로는 확장할 수 있는(scalable)
    메모리 제어 허브.
  58. 제57항에 있어서,
    복수개의 패킷이 소스 동기 클록 모드에 의하여 상기 데이터 신호 경로를 통해 전송되는
    메모리 제어 허브.
  59. 제58항에 있어서,
    상기 인터페이스는 복수개의 양방향 데이터 신호, 제1 및 제2 소스 동기 스트로브 신호, 단방향 조정 신호 및 양방향 정지 신호의 집합을 포함하는
    메모리 제어 허브.
  60. 제59항에 있어서,
    상기 인터페이스는 시스템 리셋 신호, 공통 클록 신호 및 전압 기준 신호를 더 포함하는
    메모리 제어 허브.
  61. 제60항에 있어서,
    상기 복수개의 트랜잭션 기술자들은 적어도 세 개의 허브간의 다중 인터페이스의 계층 내의 분리된 복수개의 허브를 식별하는
    메모리 제어 허브.
  62. 제61항에 있어서,
    상기 요구 패킷은 완료 패킷이 각각의 요구 패킷에 따라 요구되는지를 표시하는 필드를 포함하는
    메모리 제어 허브.
  63. 제62항에 있어서,
    상기 복수개의 허브간의 조정은 대칭적이고 분산된
    메모리 제어 허브.
  64. 제63항에 있어서,
    허브에 소정의 시간까지 상기 인터페이스의 오너십이 할당된
    메모리 제어 허브.
  65. 제50항에 있어서,
    메모리 제어 허브 및 프로세서는 한 개의 반도체 유닛 상에 집적되는
    메모리 제어 허브.
  66. 제50항에 있어서,
    메모리 제어 허브 및 그래픽 유닛은 한 개의 반도체 유닛 상에 집적되는
    메모리 제어 허브.
KR10-2002-7005314A 1999-10-26 2000-10-23 컴퓨터 구성요소 간의 개선된 인터페이스를 위한 방법 및장치 KR100432701B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/428,134 1999-10-26
US09/428,134 US20030110317A1 (en) 1998-11-03 1999-10-26 Method and apparatus for an improved interface between a memory control hub and an input/output control hub

Publications (2)

Publication Number Publication Date
KR20020069007A KR20020069007A (ko) 2002-08-28
KR100432701B1 true KR100432701B1 (ko) 2004-05-24

Family

ID=23697679

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-7005314A KR100432701B1 (ko) 1999-10-26 2000-10-23 컴퓨터 구성요소 간의 개선된 인터페이스를 위한 방법 및장치

Country Status (9)

Country Link
US (1) US20030110317A1 (ko)
KR (1) KR100432701B1 (ko)
CN (1) CN100338593C (ko)
AU (1) AU1341201A (ko)
DE (1) DE10085140T1 (ko)
GB (1) GB2372359B (ko)
HK (1) HK1045894B (ko)
TW (1) TW514787B (ko)
WO (1) WO2001031460A1 (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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US7099318B2 (en) 2001-12-28 2006-08-29 Intel Corporation Communicating message request transaction types between agents in a computer system using multiple message groups
CN100362504C (zh) * 2005-01-21 2008-01-16 瑞传科技股份有限公司 用于工业电脑的单板电脑机板
KR20170025868A (ko) * 2015-08-31 2017-03-08 에스케이하이닉스 주식회사 고속 통신을 위한 전송 장치, 이를 포함하는 인터페이스 회로 및 시스템

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206946A (en) * 1989-10-27 1993-04-27 Sand Technology Systems Development, Inc. Apparatus using converters, multiplexer and two latches to convert SCSI data into serial data and vice versa
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
US5590292A (en) * 1992-12-08 1996-12-31 Compaq Computer Corporation Scalable tree structured high speed input/output subsystem architecture
US5687388A (en) * 1992-12-08 1997-11-11 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
US5742847A (en) * 1994-10-31 1998-04-21 Intel Corporation M&A for dynamically generating and maintaining frame based polling schedules for polling isochronous and asynchronous functions that guaranty latencies and bandwidths to the isochronous functions
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
US5933612A (en) * 1995-05-02 1999-08-03 Apple Computer, Inc. Deadlock avoidance in a split-bus computer system
JPH0954746A (ja) * 1995-08-11 1997-02-25 Toshiba Corp コンピュータシステム
US5761444A (en) * 1995-09-05 1998-06-02 Intel Corporation Method and apparatus for dynamically deferring transactions
US5754807A (en) * 1995-11-20 1998-05-19 Advanced Micro Devices, Inc. Computer system including a multimedia bus which utilizes a separate local expansion bus for addressing and control cycles
US5911052A (en) * 1996-07-01 1999-06-08 Sun Microsystems, Inc. Split transaction snooping bus protocol
US5729760A (en) * 1996-06-21 1998-03-17 Intel Corporation System for providing first type access to register if processor in first mode and second type access to register if processor not in first mode
US5832243A (en) * 1996-12-31 1998-11-03 Compaq Computer Corporation Computer system implementing a stop clock acknowledge special cycle
US5870567A (en) * 1996-12-31 1999-02-09 Compaq Computer Corporation Delayed transaction protocol for computer system bus
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
US6088370A (en) * 1997-09-22 2000-07-11 Intel Corporation Fast 16 bit, split transaction I/O bus
US6195722B1 (en) * 1998-01-26 2001-02-27 Intel Corporation Method and apparatus for deferring transactions on a host bus having a third party agent
US6101566A (en) * 1998-03-13 2000-08-08 Compaq Computer Corporation Computer system with bridge logic that includes an internal modular expansion bus and a common target interface for internal target devices
US6308255B1 (en) * 1998-05-26 2001-10-23 Advanced Micro Devices, Inc. Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system
US6148357A (en) * 1998-06-17 2000-11-14 Advanced Micro Devices, Inc. Integrated CPU and memory controller utilizing a communication link having isochronous and asynchronous priority modes
US6175889B1 (en) * 1998-10-21 2001-01-16 Compaq Computer Corporation Apparatus, method and system for a computer CPU and memory to high speed peripheral interconnect bridge having a plurality of physical buses with a single logical bus number
US6145039A (en) * 1998-11-03 2000-11-07 Intel Corporation Method and apparatus for an improved interface between computer components
US6567876B1 (en) * 1999-12-03 2003-05-20 Hewlett-Packard Development Company, L.P. Docking PCI to PCI bridge using IEEE 1394 link

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
WO2001031460A1 (en) 2001-05-03
CN1415094A (zh) 2003-04-30
WO2001031460A9 (en) 2002-07-04
US20030110317A1 (en) 2003-06-12
AU1341201A (en) 2001-05-08
DE10085140T1 (de) 2002-11-07
HK1045894A1 (en) 2002-12-13
GB2372359B (en) 2004-08-25
GB0211909D0 (en) 2002-07-03
CN100338593C (zh) 2007-09-19
GB2372359A (en) 2002-08-21
KR20020069007A (ko) 2002-08-28
TW514787B (en) 2002-12-21
HK1045894B (zh) 2005-03-18

Similar Documents

Publication Publication Date Title
KR100417839B1 (ko) 컴퓨터 구성요소들 간의 개선된 인터페이스 방법 및 장치
US6374317B1 (en) Method and apparatus for initializing a computer interface
US7882294B2 (en) On-chip bus
KR100750036B1 (ko) 플로우 제어를 구현하는 범용 입출력 아키텍쳐, 프로토콜및 관련 방법
US6330630B1 (en) Computer system having improved data transfer across a bus bridge
US6901451B1 (en) PCI bridge over network
US6993612B2 (en) Arbitration method for a source strobed bus
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
US6516375B1 (en) Peripheral component interconnect (PCI) configuration emulation for hub interface
US6822976B1 (en) Method and apparatus for high throughput multiplexing of data
US7006533B2 (en) Method and apparatus for hublink read return streaming
US6052754A (en) Centrally controlled interface scheme for promoting design reusable circuit blocks
US20030188071A1 (en) On-chip high speed data interface
KR100432701B1 (ko) 컴퓨터 구성요소 간의 개선된 인터페이스를 위한 방법 및장치
US6425071B1 (en) Subsystem bridge of AMBA's ASB bus to peripheral component interconnect (PCI) bus
US6615306B1 (en) Method and apparatus for reducing flow control and minimizing interface acquisition latency in a hub interface
US6496895B1 (en) Method and apparatus for intializing a hub interface
EP1367492A1 (en) Compute node to mesh interface for highly scalable parallel processing system
US6446154B1 (en) Method and mechanism for virtualizing legacy sideband signals in a hub interface architecture
US7039047B1 (en) Virtual wire signaling

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: 20120502

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee