KR101077285B1 - 멀티프로세서 시스템들에서 사용하기 위한 프로세서써로게이트와 이를 사용하는 멀티프로세서 시스템 - Google Patents

멀티프로세서 시스템들에서 사용하기 위한 프로세서써로게이트와 이를 사용하는 멀티프로세서 시스템 Download PDF

Info

Publication number
KR101077285B1
KR101077285B1 KR1020067009129A KR20067009129A KR101077285B1 KR 101077285 B1 KR101077285 B1 KR 101077285B1 KR 1020067009129 A KR1020067009129 A KR 1020067009129A KR 20067009129 A KR20067009129 A KR 20067009129A KR 101077285 B1 KR101077285 B1 KR 101077285B1
Authority
KR
South Korea
Prior art keywords
processor
ports
surrogate
port
terminals
Prior art date
Application number
KR1020067009129A
Other languages
English (en)
Other versions
KR20060111505A (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 KR20060111505A publication Critical patent/KR20060111505A/ko
Application granted granted Critical
Publication of KR101077285B1 publication Critical patent/KR101077285B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • 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/14Handling requests for interconnection or transfer
    • 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/40Bus structure

Abstract

프로세서 써로게이트(320/520)는, 서로 연결되어 있음과 아울러, 대응하는 통신 링크들을 사용하여 복수의 입력/출력 디바이스들(330, 340, 350/530, 540, 550 및 560)에 연결되는 복수의 프로세싱 노드들(P0 및 S1)을 갖는 멀티프로세서 데이터 프로세싱 시스템(300/500)의 프로세싱 노드(S1)에 사용하도록 구성된다. 상기 프로세서 써로게이트(320/520)는 복수의 프로세싱 노드들(P0 및 S1) 중 하나에 연결하기 위한 제 1 외부 통신 링크(370/590)에 연결되는 제 1 세트의 집적회로 단자들을 구비하는 제 1 포트(372, 374/620 및 622)와; 상기 복수의 입력/출력 디바이스들(330, 340, 350/530, 540, 550 및 560) 중 하나에 연결하기 위한 제 2 외부 통신 링크(380/592)에 연결되는 제 2 세트의 집적회로 단자들을 구비하는 제 2 포트(382, 384/630 및 632)와; 그리고 상기 제 1 포트(372, 374/620 및 622)와 상기 제 2 포트(382, 384/630 및 632) 사이에 연결되는 배선 회로(390, 392/606, 608, 612 및 614)를 포함한다.

Description

멀티프로세서 시스템들에서 사용하기 위한 프로세서 써로게이트와 이를 사용하는 멀티프로세서 시스템{PROCESSOR SURROGATE FOR USE IN MULTIPROCESSOR SYSTEMS AND MULTIPROCESSOR SYSTEM USING SAME}
본 발명은 일반적으로 데이터 프로세싱 시스템에 관한 것이고, 더욱 상세하게는 멀티프로세서 시스템(multiprocessor system)에 관한 것이다.
디지털 컴퓨터의 발전사에서 고성능에 대한 추구는 끊임없이 존재했다. 최근 집적회로(IC) 제조 기술에서의 진전은 더 작고 더 빠른 IC들을 생성하도록 하여, 최근 마이크로프로세서-기반 컴퓨터 시스템들이 한 세대 전의 수퍼컴퓨터(supercomputer)의 성능보다 높은 성능을 갖도록 했다. 마이크로프로세서 성능은 클록 속도(clock speed) 및 데이터 버스 폭(data bus width)을 포함하는 수많은 요인들에 의해 결정된다.
전형적으로 IC 제조자들은 특정 마이크로프로세서의 수명 전반에 걸쳐 더 높은 속도를 갖는 버전(version)을 제공할 수 있었다. 마이크로프로세서 속도의 지속적인 향상은 사용자들이 그들의 컴퓨터 시스템들을 더욱 새롭고 더욱 높은 속도의 마이크로프로세서로 업그레이드(upgrade)할 수 있도록 하는 기회를 제공했다. 따라서, 오래되고 느린 마이크로프로세서는 사용되지 않고 더욱 새롭고 더욱 높은 속도 의 마이크로프로세서가 그 자리에 대체될 수 있다. 이러한 업그레이드 가능한 유형의 예로는 Johnson외에 허여된 U.S 특허 번호 5,828,869에 개시된 바와 같은, 메모리 디바이스와 하나의 속도로 통신할 수 있지만, 그의 내부 클록 속도는 더 높은 주파수로 스케일링(scale)될 수 있는 마이크로프로세서가 있다.
이러한 유형의 업그레이드는 단일 프로세서 시스템들의 성능을 증가시켰다. 그러나, 최근 컴퓨터 아키텍처들은 단일 프로세서 시스템들보다 더욱 복잡하다. 예를 들어, 일부 컴퓨터 아키텍처들은 이제 다수의 프로세서와 불균일 메모리 액세싱(non-uniform memory accessing)(NUMA)을 사용한다. 이러한 NUMA 시스템들에서, 두 개 이상의 마이크로프로세서들이 링(ring) 또는 네트워크에서 접속되며, 마이크로프로세서 각각은 관련 메모리 및 가능하다면 하나 이상의 관련 입력/출력 디바이스들을 구비한다. 사용자들에게는 저가의 NUMA 시스템들로부터 시작하여 상기 시스템의 성능을 추후에 개량하도록 업그레이드하는 것이 바람직하다.
따라서, 멀티프로세서 컴퓨터 시스템의 성능을 업그레이드하는 새로운 수단을 제공하는 것이 바람직할 것이다. 상기 및 다른 바람직한 피처(feature)들 및 본 발명의 특성들은, 첨부된 도면들과 전술한 기술 분야 및 배경기술과 관련하여 채택될 때, 후속 상세한 설명 및 첨부된 청구항들로부터 명백해질 것이다.
프로세서 써로게이트는, 서로 연결되어 있음과 아울러, 대응하는 통신 링크들을 사용하여 복수의 입력/출력 디바이스들에 연결된 복수의 프로세싱 노드들을 갖는 멀티프로세서 데이터 프로세싱 시스템의 프로세싱 노드에 사용하도록 구성된다. 상기 프로세서 써로게이트는 복수의 프로세싱 노드들 중 하나에 연결하기 위한 제 1 외부 통신 링크에 연결되는 제 1 세트의 집적회로 단자들을 구비하는 제 1 포트와; 상기 복수의 입력/출력 디바이스들 중 하나에 연결하기 위한 제 2 외부 통신 링크에 연결되는 제 2 세트의 집적회로 단자들을 구비하는 제 2 포트와; 그리고 상기 제 1 포트와 상기 제 2 포트 사이에 연결된 배선 회로(interconnection circuit)를 포함한다.
다른 양상에서, 멀티프로세서 데이터 프로세싱 시스템은 제 1 및 제 2 프로세싱 노드들과 입력/출력 디바이스를 포함한다. 상기 제 1 프로세싱 노드는 실제(actual) 프로세서를 구비한다. 상기 제 2 프로세싱 노드는 프로세서 써로게이트를 구비한다. 상기 프로세서 써로게이트는 상기 제 1 프로세싱 노드에 연결된 제 1 포트와, 제 2 포트와, 그리고 상기 제 1 포트와 제 2 포트 사이에 연결된 배선 회로를 갖는다. 상기 입력/출력 디바이스는 상기 제 2 프로세싱 노드의 상기 제 2 포트에 연결되고 그리고 상기 프로세서 써로게이트를 통해 상기 실제 프로세서로 액세스 가능하다.
이하에서 본 발명은 다음의 도면들과 관련하여 기술되며, 여기서 유사한 숫자들은 유사한 구성요소들을 표시한다.
도 1은 본 발명의 이해에 유용한 멀티프로세서 컴퓨터 시스템의 블록 다이어그램을 예시한다;
도 2는 프로세서들 중 하나와 그의 관련 메모리를 포함하는 도 1의 멀티프로세서 컴퓨터 시스템의 일부분의 블록 다이어그램을 예시한다;
도 3은 본 발명에 따라 프로세서 써로게이트(processor surrogate)를 사용하는 멀티프로세서 컴퓨터 시스템의 블록 다이어그램을 예시한다;
도 4는 도 3의 프로세서 써로게이트의 블록 다이어그램을 예시한다;
도 5는 본 발명의 다른 양상에 따라 프로세서 써로게이트를 사용하는 멀티프로세서 컴퓨터 시스템의 블록 다이어그램을 예시한다;
도 6은 도 5의 프로세서 써로게이트의 블록 다이어그램을 예시한다;
도 7은 본 발명의 또 다른 양상에 따라 도 6의 프로세서 써로게이트를 사용하는 멀티프로세서 컴퓨터 시스템의 블록 다이어그램을 예시한다;
도 8은 도 4 및 도 6의 프로세서 써로게이트 및 도 2의 실제 프로세서를 위해 사용되는 집적회로 패키지의 평면도를 예시한다;
도 9는 도 8의 집적회로 패키지의 측면도를 예시한다; 그리고
도 10은 도 8의 집적회로 패키지의 저면도(bottom view)를 예시한다.
하기의 상세한 설명은 근본적으로 단지 예시일 뿐이며, 본 발명이나 본 출원 및 사용을 제한하고자 의도되는 것이 아니다. 게다가, 전술한 기술분야, 배경기술, 요약 또는 다음의 상세한 설명에 명시적 또는 암시적으로 제시되는 어떠한 이론에 의해서도 한정하고자하는 의도가 없다.
도 1은 본 발명의 이해에 유용한 멀티프로세서 컴퓨터 시스템(100)의 블록 다이어그램을 예시한다. 컴퓨터 시스템(100)은 통신 링크(116)를 통해 서로 접속된 "P0"로 표시된 제 1 프로세서 노드와 "P1"으로 표시된 제 2 프로세서 노드를 포함 하는 두 개의 프로세서 노드들을 포함하며, 이들은 원으로 표시되어 있다. 노드들(P0 및 P1)은 마이크로프로세서들(110 및 120)을 사용하여 각각 구현된다. 시스템(100)은 또한 "I/O A"로 표시된 제 1 입력/출력(I/O) 디바이스(130)와, "I/O B"로 표시된 제 2 I/O 디바이스(140)와, "I/O C"로 표시된 제 3 I/O 디바이스(150)와, 그리고 "I/O D"로 표시된 제 4 I/O 디바이스(160)와, "디램(DRAM) 0"으로 표시된 제 1 디램(170)과, 그리고 "디램 1"로 표시된 제 2 디램(180)을 포함한다. 프로세서(110)는 통신 링크들(112 및 114)을 통해 각각 I/O 디바이스들(130 및 140)과 통신하고, 그리고 링크(116)를 통해 프로세서(120)와 통신하는 단일-칩 마이크로프로세서이다. 프로세서(110)는 또한 로컬 디램(local DRAM)(170)에 메모리 액세스를 수행하는 전용 버스를 갖는다. 유사하게 프로세서(120)는 통신 링크들을 통해 I/O 디바이스들(150 및 160)과 통신하며, 로컬 디램(180)에 접속하기 위한 전용 버스를 갖는다. I/O 디바이스들(130, 140, 150 및 160)은 그래픽 프로세서, 이더넷 제어기(Ethernet conroller), 개인 컴퓨터 상호 접속(PCI) SIG(Special interest Group)에 의해 특정된 것과 같은 다른 버스로의 브리지(bridge) 등을 포함하는 다양한 I/O 디바이스들 중 임의의 것이다.
프로세서들(110 및 120)은 ⓒ2003 HyperTransport Technology Consortium, 개정 1.05, HyperTransportTM I/O 링크 규격에 따르는 링크 제어기들을 사용하여 각각의 I/O 디바이스들과 통신하며, 1600MHz의 데이터 속도를 사용할 때 3.2GB/초의 처리량을 달성할 수 있다. HyperTransport 기술은 두 개의 독립적인 단방향 와이어 세트들(unidirectional sets of wires)로 구현되는 패킷-기반 링크(packet-based link)이다. 따라서 예를 들면 링크들(112, 114 및 116)은 출력 접속 및 입력 접속 모두를 포함한다. 각 HyperTransport 링크는 공칭으로(normally) 점대점(point to point)으로서 두 개의 디바이스들을 접속한다. HyperTransport 링크들의 체인(chain)들은 또한 I/O 채널로서, I/O 디바이스들을 접속하는데, 및 호스트 시스템으로의 브리지들로서 사용될 수 있다. 상기 HyperTransport 링크는 고성능을 제공하고 CPU와, 메모리와 그리고 I/O 디바이스들 사이에 스케일 가능한(scalable) 상호 접속을 제공하도록 디자인된다. 상기 HyperTransport 링크는 매우 높은 데이터 속도를 얻기 위해 온-다이 차동 터미네이션(on-die differential termination)을 구비한 낮은 스윙 차동 시그널링(swing differential signaling)을 사용한다. 상기 HyperTranport 링크는 스케일러블 대역폭을 달성하기 위해 스케일러블 주파수 및 데이터를 사용한다.
시스템(100)은 각 프로세서 노드에 관련됨과 아울러 상기 노드들 사이에 분산된 메모리를 포함한다. 이는 캐시 코히어런트 불균일 메모리 액세스(cache coherent NUMA)(CC NUMA) 아키텍처를 구현한다. 상기 CC NUMA 아키텍처는, 시스템 내의 모든 메모리가 각 프로세서에 가시적이지만 액세스 시간은 상기 프로세서와 메모리 사이의 물리적 거리에 의존한다는 점에서 불균일(non-uniform)하다. 따라서, 프로세서(110)는 디램(170)에는 빠르게 액세스할 수 있지만, 디램(180)에 액세스할 수 있기 전에 링크(116)를 통해 상기 메모리 액세스 요청이 전달되는 동안은 대기해야만 한다. 프로세서들(110 및 120) 사이의 링크(116)는 코히어런트 HyperTransport로 알려진 특별한 형태의 HyperTransport를 사용한다.
도 2는 프로세서(110) 및 디램(170)을 포함하는, 도 1의 멀티프로세서 컴퓨터 시스템(100)의 일부분(200)의 블록 다이어그램을 예시한다. 프로세서(110)는 단일칩 마이크로프로세서로서, 중앙 처리유닛(CPU)(202), 메모리 제어기(206), "X바(XBAR)"로 표시된 크로스바 스위치(crossbar switch)(208), 및 각각 HyperTransport를 위해 "HT"로 표시된 세 개의 링크 제어기들(212, 214 및 216)을 포함한다. CPU(202)는 소위 x86 명령어 세트의 명령어들을 실행하도록 구성된 프로세서이다. 상기 x86 명령어 세트는 캘리포니아 산타 클라라에 위치하는 Intel Corporation에 의해 제일 먼저 제조된 8086 마이크로프로세서의 명령어 세트에 기초한다. 그러나, CPU(202)는 파이프라이닝(pipelining) 및 수퍼스칼라(superscalar) 디자인을 포함하는 x86 프로그램들의 고성능 실행을 위한 수많은 고급 기능들을 포함한다. CPU(202)는 자주 사용되는 데이터의 저장을 위한 적어도 하나의 캐시(204)를 포함한다. 예를 들어, CPU(202)는 두 개의 제 1 레벨(L1) 캐시들과, 여기서 하나는 명령어들을 위한 것이고 다른 하나는 데이터를 위한 것이며, 그리고 명령어 및 데이터 스트림들에 의해 공유되는 제 2 레벨(L2) 캐시를 포함한다.
메모리 제어기(206)는 프로세서(110)와 디램(170) 사이에 데이터 전송을 위한 메커니즘이다. 메모리 제어기(206)는 CPU(202)로부터의 메모리 액세스들을 개시 및 종료하는 업무를 오프로드(offload)한다. 이는 디램(170)으로의 외부 버스의 사용을 효율적으로 하는 내부 큐(queue)들을 포함한다. 다른 실시예들에서, 디 램(170)은 하나 이상의 추가 캐시들 및 주 메모리를 포함하는 낮은 레벨 메모리 시스템, 정적 램(static RAM), 비휘발성 메모리 등에 의해 대체될 수 있다.
X바(208)는 프로세서(110)에 대한 내부 버스들을 함께 연결하도록 디자인된 스위칭/멀티플렉싱(multiplexing) 회로이다.
링크 제어기들(212, 214 및 216)은 외부 링크들(112, 114 및 116)에 각각 연결되어 있다. 링크들(112, 114 및 116)은 각각 출력 채널들(220, 230 및 240) 및 입력 채널들(222, 232 및 242)을 포함한다. 링크 제어기들(212, 214 및 216) 각각은 개정 1.05, HyperTransportTM I/O 링크 규격에 따르지만, 두 개의 프로세서 노드들을 링크할 수 있는 특별한 HyperTransport 형태를 추가로 지원한다.
도 1 및 도 2를 함께 고려하면, 프로세서(120)가 어떻게 디램(170)에 액세스할 수 있는지 볼 수 있다. 메모리 제어기(206)에 대응하는 프로세서(120)의 메모리 제어기는 프로세서(120)의 CPU로부터 메모리 액세스 요청을 수신할 것이다. 액세스가 다른 노드에 있는 메모리에 대한 것임을 인식하면, 상기 프로세서(120)는 코히어런트 링크(116)를 이용하여 그의 링크 제어기들 중 하나를 통해 프로세서(110)로 상기 메모리 액세스 요청을 전송할 것이다. 상기 요청 패킷은 링크 제어기(216)에서 수신되어 X바(208)를 통해 메모리 제어기(206)로 라우팅(route) 된다. 그 다음, 메모리 제어기(206)는 상기 요청된 메모리 요소가 캐시(204)에 있는지 여부를 조사하기 위해 그의 내부 디렉토리(directory)를 검사한다. 만약 상기 요청된 메모리 요소가 캐시(204)에 존재하지 않는다면, 메모리 제어기(206)는 디램(170)을 판독하 여 X바(208) 및 링크 제어기(216)를 통해 코히어런트 링크(116)를 이용하여 상기 요청된 데이터 요소를 프로세서(120)로 다시 제공한다.
소켓 호환가능한 그러나 더 높은 속도의 프로세서들(socket-compatible but higher speed processors)을 사용하여 시스템(100)을 업그레이드하는 것이 가능하지만, 보다 유연한 업그레이드 성능이 요구될 수 있다. 이러한 성능은 도 3에 도시되어 있으며, 도 3은 본 발명에 따라 프로세서 써로게이트(320)를 사용하는 멀티프로세서 컴퓨터 시스템(300)의 블록 다이어그램을 예시한다. 본 명세서에 사용되는 바와 같은 "멀티프로세서"는, 단 하나의 프로세싱 노드가 실제 CPU(actual CPU)를 구비한다고 할지라도 하나보다 많은 프로세싱 노드를 갖는 것을 의미한다. 자신의 CPU를 갖지 않는 프로세서 써로게이트(320)를 갖는 "S1"으로 표시된 노드에 의해 노드(P1)가 대체된 것을 제외하고는, 시스템(300)은 시스템(100)과 유사하다. 본 명세서에 사용되는 바와 같이, "프로세서 써로게이트"는 노드(S1)의 소켓 내로 플러그(plug)되는 디바이스로서 실제 프로세서의 대용으로서 사용된다. 실제 프로세서 대신에 프로세서 써로게이트(320)를 사용함으로써, 자신의 CPU를 구비한 또 다른 실제 마이크로프로세서에 대한 비용 없이, 추가의 I/O 디바이스(350)가 시스템(300)에서 이용될 수 있다. 시스템(300)은 본질적으로 듀얼 프로세서 시스템(dual processor system)으로 용이하게 업그레이드될 수 있는 단일-프로세서 시스템이다. 따라서, 시스템(300)은 저가의 시스템이지만 업그레이드 경로(upgrade path)를 갖는바, 즉, 도 2에 도시된 것과 같은 실제 프로세서가 프로세서 써로게이트(320)에 의해 사용된 소켓 내에 추후에 삽입되어 컴퓨터 시스템(300)의 성능을 현저하게 업그레이드할 수 있다.
이하에서 알 수 있는 바와 같이, 프로세서 써로게이트는 일반적인 두 개의 유형: 능동(active) 및 수동(passive)일 수 있다. 프로세서 써로게이트의 상기 두 유형 모두는 실제 마이크로프로세서와 소켓 호환가능하고 실제 마이크로프로세서를 대신하여 작동하지만, 상기 두 유형은 사용되는 배선 회로의 유형이 서로 다르다. 도 4는 도 3의 프로세서 써로게이트(320)의 블록 다이어그램을 예시한다. 프로세서 써로게이트(320)는 수동 유형 써로게이트로서, HyperTransport 링크(370)의 입력 시그널들을 HyperTransport 링크(380)의 출력 시그널들로 접속하는 제 1 세트의 와이어(390)와, 그리고 HyperTransport 링크(380)의 입력 시그널들을 HyperTransport 링크(370)의 출력 시그널들로 접속하는 제 2 세트의 와이어(392)를 포함한다. 프로세서 써로게이트(320)는 도 2의 마이크로프로세서(110)와 같은 실제 마이크로프로세서의 두 개의 링크 제어기들의 단자(terminal)들에 대응하는 집적 회로 단자들을 포함한다.
전원을 켜면, 프로세서(310)는 HyperTransport 링크가 코히어런트인지 또는 넌코히어런트(non-coherent)인지를 검사하고 상기 링크를 통한 정보 전송의 속도를 결정한다. 따라서, 링크(370)에 접속된 프로세서(310)의 링크 제어기는, 프로세서 써로게이트(320)를 통해 I/O 제어기(350)와 통신하는 것으로부터, 상기 링크가 논코히어런트임을 검출할 것이다. 그러나, 만약 상기 프로세서 써로게이트가 추후에 실제 프로세서로 대체된다면, 상기 프로세서(310) 내의 링크 제어기는 실제 노드의 존재를 검출하고 그 링크를 코히어런트 링크로 설정할 것이다.
프로세서 써로게이트(320)는 도 1 및 도 2의 프로세서(110)와 동일한 "풋프린트(footprint)"를 갖는다. 즉 프로세서 써로게이트(320)는 물리적으로 프로세서(100)와 같은 실제 프로세서를 수용하는 소켓 내에 플러그 또는 삽입될 수 있다. 따라서, 프로세서 써로게이트(320)는 실제 프로세서와 동일한 집적회로 패키지 치수를 갖는다. 그러나, 집적 회로 패키지는 단지 와이어들(390 및 392)만을 포함한다. 특히, 프로세서(100)에 대해 사용되는 패키지의 일 유형은 세라믹 마이크로 핀 그리드 배열(ceramic micro pin grid array)로 알려진 패키지이다. 마이크로 핀 그리드 배열 프로세서에 대한 소켓을 수용하기 위해, 프로세서 써로게이트(320)도 또한 유사한 마이크로 핀 그리드 배열 패키지를 사용한다. 그러나, 대부분의 시그널에 대한 핀들은 접속되지 않아서, "더미(dummy)" 핀들로 존재할 것이다. 핀들(372, 374, 382 및 384)은 적당한 배선(interconnect)들을 제공하는데 사용된다. 세라믹 유형 패키지는 세라믹 물질 내의 복수의 시그널 평면(plane)들을 사용하여 배선들을 형성하는 기회를 제공하여 기생 손실을 줄이는바, 상기 기생 손실은 만약 리드프레임(leadframe) 유형 패키지가 사용된다면 본드 와이어(bond wire)의 사용을 통해 발생한다. 전원 및 접지 핀들은 선택적으로 RF 방사 및 간섭(interference)을 차단하는 시그널에 대한 적당한 접지 평면들을 제공하도록 접속된다. 프로세서 써로게이트(320)는 실제 프로세서에 대해 사용되는 임의의 다른 유형의 패키지의 풋프린트에 맞도록 다시 디자인될 수 있음을 주목하자. 또한, 만약 전기적 기계적 특성들이 충분하다면, 값싼 유기(organic) 패키지가 세라믹 패키지를 대체할 수 있다.
더욱 상세하게, 프로세서 써로게이트(320)는 31행 31열의 배열로 형성된 총 961개의 가용 핀들을 구비한 세라믹 마이크로 핀 그리드 배열 패키지에 하우징(house)될 수 있다. HyperTransport 링크를 사용하여, 입력 포트들(372 및 384)은 각각 4개의 클록 입력 핀들, 두 개의 제어 입력 핀들, 및 32개의 멀티플렉스 커맨드/어드레스/데이터 입력 핀들을 포함하는 38개의 핀들을 포함하며, 여기서 각 시그널은 한 쌍의 시그널 핀들을 사용하여 차별적으로 처리된다. 출력 포트들(374 및 382)도 또한 4개의 클록 출력 핀들, 두 개의 제어 출력 핀들, 및 32개의 멀티플렉스 커맨드/어드레스/데이터 출력 핀들을 포함하는 대응하는 38개의 핀들을 포함한다. 프로세서 써로게이트(320)를 제조하기 위해, 상기 제 1 링크(링크 0)의 제어 입력 핀들과 상기 제 2 링크(링크 1)의 제어 출력 핀들을 접속하고, 링크(0)의 클록 입력 핀들과 링크(1)의 대응하는 클록 출력 핀들을 접속하고, 그리고 링크(0)의 멀티플렉스 커맨드/어드레스/데이터 입력 핀들과 링크(1)의 대응하는 멀티플렉스 커맨드/어드레스/데이터 출력 핀들을 접속함으로써, 프로세서 써로게이트(320)의 패키지 내에 내부 배선들(390)을 형성할 수 있다. 유사한 접속들(392)이 링크(1)의 입력들을 링크(0)의 출력들에 접속하도록 만들어진다. 주목할 사항은 HyperTransport의 특징은 커멘드/어드레스/데이터 핀들의 개수를 2개부터 32개의 쌍들로 스케일링할 수 있다는 점이고, 그리고 다른 실시예들에서 전술한 서로 다른 핀들의 16개 쌍 외에 서로 다른 수의 커맨드/어드레스/데이터 핀들이 지원될 수 있다.
도 5는 본 발명의 다른 양상에 따라 프로세서 써로게이트를 사용하는 멀티프로세서 컴퓨터 시스템(500)의 블록 다이어그램을 예시한다. 시스템(500)은 노드(P0)에 실제 프로세서(510)와 노드(S1)에 능동 형태의 프로세서 써로게이트(520) 를 갖는다. 노드들(P0 및 S1)은 코히어런트 HyperTransport 링크(590)를 사용하여 함께 접속된다. 시스템(500)은 "I/O A"로 표시된 I/O 디바이스(530)와, "I/O B"로 표시된 I/O 디바이스(540)와, "I/O C"로 표시된 I/O 디바이스(550)와, 그리고 "I/O D"로 표시된 I/O 디바이스(560)를 포함하는 4개의 I/O 디바이스들을 포함한다. I/O 디바이스들(530 및 540)은 각각 넌코히어런트 HyperTransport 링크들을 사용하여 프로세서(510)에 접속되고, 그리고 I/O 디바이스들(550 및 560)은 각각 넌코히어런트 HyperTransport 링크들(592 및 594)을 사용하여 프로세서 써로게이트(520)에 접속된다. 시스템(500)은 또한 "디램0"으로 표시된 제 1 디램(570)과 "디램1"으로 표시된 제 2 디램(580)을 포함하며, 상기 디램들(570 및 580) 각각은 노드들(P0 및 S1)에 접속되어 있다.
시스템(500)은 능동 프로세서 써로게이트(520)를 사용함으로써, 자신의 CPU 및 캐시를 갖는 제 2의 실제 프로세서에 대한 요구 없이도, 노드(P0)가 더 많은 자원을 이용할 수 있도록 한다. 하기에서 더욱 상세하게 설명되는 바와 같이, 프로세서 써로게이트(520)는 단순한 와이어 대신에 능동 회로소자에 의한 배선을 제공하여, 프로세서(510)가 추가의 CPU에 대한 요구 없이도 두 개의 I/O 디바이스들(550 및 560) 및 추가의 디램(580)에 액세스할 수 있도록 한다. 프로세서 써로게이트는 CPU와 캐시가 없기 때문에, 실제 프로세서보다 더 저렴하지만 추후의 성능 향상을 위한 업그레이드 경로를 제공한다.
능동 프로세서 써로게이트의 구성은 도 6과의 관계에서 더욱 잘 이해되며, 도 6은 프로세서 써로게이트(520) 및 디램(580)을 포함하는 도 5의 시스템(500)의 일부분의 블록 다이어그램이다. 도 6에 도시된 바와 같이, 프로세서 써로게이트(520)는 메모리 제어기(606)와, 크로스바 스위치(608)와, 그리고 링크들(590, 592 및 594)에 각각 접속된 HyperTransport 링크 제어기들(612, 614 및 616)을 포함한다. 도 2의 프로세서(110)에서와 같이, HyperTransport 링크 제어기들(612, 614 및 616)은 대응하는 출력 접속들(620, 630 및 640) 세트들 및 입력 접속들(622, 632 및 634) 세트들을 포함하는 포트들에 각각 접속된다. HyperTransport 링크 제어기들(612, 614 및 616)은 또한 크로스바 스위치(608)에 접속된다. 메모리 제어기(606)는 크로스바 스위치(608)와 외부 디램(580)에 접속된다.
도 2의 실제 프로세서(110) 및 프로세서 써로게이트(520) 양자 모두의 메모리 제어기들, 크로스바 스위치, 및 HyperTransport 링크 제어기들은 기능적으로 동일하다. 예시된 형태에서, 크로스바 스위치들(208 및 608) 양자 모두는 CPU의 존재 또는 부존재를 자동으로 검출하는 구성 포함한다. 따라서, 본 디자인은 모듈러(modular)형이며, 프로세서 써로게이트(520)에 사용되는 집적회로는 넷리스트(netlist)로부터 CPU를 단순히 제거하고 수정된 넷리스트를 자동화 장소(automated place) 및 라우트 캐드 소프트웨어(route CAD software)에 입력함으로써 구현될 수 있다. CPU가 프로세서(110)의 대부분의 집적회로 영역을 소모하기 때문에, 프로세서 써로게이트(520)에 사용되는 집적회로는 훨씬 덜 비싸다. 대안적으로, 상기 능동 프로세서 써로게이트는 결함있는 CPU를 구비한 실제 프로세서를 사용함으로써 형성될 수 있다.
주목할 사항은, 능동 프로세서 써로게이트와 함께 사용하기 위해, 링크(590) 는 HyperTransport의 코히어런트 형태를 사용한다. 메모리 제어기와 같이, 프로세서 써로게이트(520)의 링크 제어기들은 모듈러형이고 실제 프로세서에서 사용되는 것들과 동일하다. 그러나, 링크(590)를 통해 프로세서(510)에 접속된 프로세서 써로게이트(520)의 링크 제어기는 타측의 능동 디바이스를 검출하고 상기 링크를 HyperTransport의 코히어런트 형태로 구성한다. 따라서, 상기 프로토콜은 자신의 분산 메모리 및 메모리 제어기를 구비한 써로게이트에 적합하다.
도 7은 본 발명의 또 다른 양상에 따라 도 6의 프로세서 써로게이트를 사용하는 멀티프로세서 컴퓨터 시스템(700)의 블록 다이어그램을 예시한다. 시스템(700)은 상당한 업그레이드 능력을 구비한 복잡한 시스템 토폴로지(topology)를 구성함에 있어, 능동 형태의 프로세서 써로게이트의 유연성을 예시한다. 시스템(700)은 각각 실제 프로세서(710) 및 프로세서 써로게이트들(720, 730 및 740)에 의해 구현되는 "P0", "S1", "S2" 및 "S3"로 표시된 4개의 프로세싱 노드들을 포함한다. 시스템(700)은 P0를 위해 도 2의 프로세서(110)와 같은 실제 프로세서를 사용하고, 그리고 노드들(S1, S2 및 S3)을 위해 도 6에 도시된 프로세서 써로게이트(520)와 같은 능동 형태의 프로세서 써로게이트들을 사용한다. 상기 프로세서 노드들은 코히어런트 HyperTransport 링크들을 사용하여 링으로 접속되어, 노드(P0)는 인접한 노드들(S1 및 S3)에 접속되고, 노드(S1)는 인접한 노드들(P0 및 S2)에 접속되고, 노드(S2)는 인접한 노드들(S1 및 S3)에 접속되고, 그리고 노드(S3)는 인접한 노드들(S2 및 P0)에 접속된다.
시스템(700)은 실제 프로세서들에 의해 요구되는 추가의 CPU들에 대한 필요 없이도 3 개의 능동 프로세서 써로게이트들에 접속된 디램 및 I/O 디바이스들로의 액세스 가능성을 제공한다. 또한 상기 시스템을 4개의 프로세서들로까지 발전시킬수 있는 상당한 업그레이드 경로를 제공한다.
다른 시스템들에서, 다른 프로세서 노드 토폴로지들이 사용되며, 모든 이러한 멀티프로세서 토폴로지들은 적어도 하나의 실제 프로세서와 하나 이상의 프로세서 써로게이트들을 구비하여 유연한 업그레이드 경로들을 제공할 수 있다. 도 2의 프로세서(110)가 세 개의 대응하는 링크 제어기들을 사용하는 세 개의 HyperTransport 링크들을 통한 통신을 지원하는 반면, 다른 실시예들에서는 실제 프로세서가 서로 다른 수의 링크 제어기들을 포함할 수 있으며 프로세서 써로게이트들의 사용 가능성들이 또한 변화한다. 예를 들어, 만약 실제 프로세서(110)가 4개의 링크 제어기들을 포함한다면, 수동 형태의 프로세서 써로게이트는 두 개 노드 멀티프로세서 시스템의 프로세서 써로게이트에 접속된 두 개의 추가의 I/O 디바이스들로의 프로세서(110)의 접속을 허용할 수 있다. 4 개의 링크 제어기들의 이용가능성은 또한 본 명세서에 상세하게 예시된 더욱 복잡한 네트워크 토폴로지들을 허용한다.
주목할 사항은 프로세서 써로게이트 및 멀티프로세서 시스템들의 실시예들이 HyperTransport NUMA 아키텍처와 관련해서 본 명세서에 기술되었다는 점이다. 다른 실시예들에서, 다른 내부-프로세서 통신 프로토콜들이 또한 사용될 수 있다. 또한, 상기 내부 프로세서 통신 프로토콜은 코히어런트 링크들을 사용하여 구현될 필요가 없다는 점을 주목해야 한다. 예를 들어, 소프트웨어 코히어런스 관리는 넌코히어런 트 내부 프로세서 통신 링크들과 사용될 수 있다. 게다가, 개시된 마이크로프로세서는 x86 명령어 세트와 다른 명령어 세트들을 실행할 수 있다.
도 8은 도 2의 실제 프로세서(110)와 도 4의 프로세서 써로게이트(320) 및 도 6의 프로세서 써로게이트(520)에 대해 사용될 수 있는 집적회로 패키지의 평면도(800)를 예시한다. 상기 예시적인 집적회로 패키지는 마이크로 핀 그리드 배열 패키지이다. 상기 핀 그리드 배열 패키지는 대체에 특히 적합한 패키지 유형인바, 이는 상기 패키지가 대응하는 소켓에 잘 맞고, 그리고 상기 프로세서 써로게이트는 상기 패키지로부터 용이하게 추출되어 실제 프로세서로 대체될 수 있기 때문이다. 평면도(800)로부터, 마이크로 핀 그리드 배열 패키지는 기저부분(base portion)(802)과 상기 기저부분(802)에 의해 정의된 영역의 중앙 부분 내의 리드부분(lid portion)(804)을 구비함을 알 수 있다. 기저부분(802)은 "A1" 코너를 나타내는 상부 우측 코너에는 경사면(806)을 구비하며, 이는 하기에서 더욱 상세하게 기술할 것이다.
도 9는 도 8의 집적회로 패키지의 측면도(900)를 예시한다. 측면도(900)로부터, 기저부분(902) 및 리드(904)가 가시화된다. 기저부분(902) 아래에 기저부분(902)의 바닥 표면으로부터 아래로 확장하는 핀들(906)의 배열의 형태로 복수의 집적 회로 단자들이 있다.
도 10은 도 8의 집적회로 패키지의 저면도(1000)를 예시한다. 저면도(1000)로부터, A1 코너(1002) 및 실선 원에 의해 나타난 뷰어(viewer)로 향하여 확장한 핀들 배열이 가시화된다. 상기 패키지는 열들(1004) 및 행들(1006)에 의해 형성된 가능한 핀들의 배열의 윤곽을 그린다. 가능한 961 핀들 배열에 대해서, 행들(1004)은 31 행들을 포함하고 열들(1006)은 31 열들을 포함한다. 그러나, 핀들이 코너 및 배열 내의 몇몇 영역들에는 존재하지 않으므로, 총 핀들 숫자는 940개이다. 상기 행들에는 상부로부터 바닥까지 A, B, C ...H, J... M, N, P, R, S ...V, W, Y, AA, AB...AH, AJ, AK, AL의 연속적인 문자들이 할당되며 상기 열들에는 우측부터 좌측까지 1 부터 31가지의 숫자가 매겨진다.
따라서, 일 특정 예시에서, 일반적인 프로세서는 링크 제어기(212)에 대해서는 표 1과 링크 제어기(214)에 대해서는 표 2에 도시된 하기의 적절한 핀 할당들을 포함하는 핀 할당을 갖는다:
표 1
Figure 112006032817966-pct00001
표 2
Figure 112006032817966-pct00002
여기서 핀 L0_CADIN_H[0]은 링크 제어기(0)에 대한 제어/어드레스/데이터 입력 핀(0)에 대한 서로 다른 핀들 쌍의 더 높은 또는 더 양의 핀을 나타내고, L1_CLKOUT_L[1]은 링크 제어기(1)에 대한 클록 출력 핀(1)에 대한 서로 다른 핀들 쌍의 더 낮은 또는 더 음의 핀을 나타내며, 그 다음도 유사하다.
도 4에 도시된 바와 같은 수동 형태의 프로세서 써로게이트를 제조하기 위해, 링크 제어기(0)의 입력 단자들을 링크 제어기(1)의 대응하는 출력 단자들에 내부적으로 접속하고, 링크 제어기(1)의 입력 단자들을 링크 제어기(0)의 대응하는 출력 단자들에 내부적으로 접속해야 한다. 따라서, 도 8 내지 도 10 및 표 1 및 2의 마이크로 핀 그리드 배열을 사용하면, 핀 L0_CADIN_L[0](핀 위치(G2)에 할당됨)는 핀 L1_CADOUT_L[0](핀 위치(A4)에 할당됨)에 접속되어야 하고, 핀L1_CADIN_H[15](핀 위치(E14)에 할당됨)는 핀 L0_CADOUT_H[15](핀 위치(V4)에 할당됨)에 접속되어야 하며, 그 다음과 유사하다.
적어도 하나의 예시적인 실시예가 전술한 상세한 설명에 제시되었지만, 매우 많은 변경이 가능함을 이해해야한다. 예시적인 실시예 또는 예시적인 실시예들은 단지 예들이며, 본 발명의 범위, 응용 또는 구성을 어떠한 방식으로도 제한하도록 의도되지 않음을 또한 이해해야 한다. 전술한 상세한 설명은 기술분야의 당업자들에게 예시적인 실시예 또는 실시예들을 실시하기에 용이한 로드맵(road map)을 제공한다. 첨부된 청구항들에 나열된 본 발명의 범위 및 이들의 정당한 균등 범위를 벗어남이 없이 소자들의 기능 및 배열에 다양한 변경이 가능함을 이해해야 한다.

Claims (10)

  1. 서로 연결됨과 아울러, 대응하는 통신 링크들을 사용하여 복수의 입력/출력 디바이스들(330, 340, 350/530, 540, 550 및 560)에 연결되는 복수의 프로세싱 노드들(P0 및 S1)을 갖는 멀티프로세서 데이터 프로세싱 시스템(300/500)의 프로세싱 노드(S1)에 사용하기 위한 프로세서 써로게이트(surrogate)로서,
    상기 복수의 프로세싱 노드들(P0 및 S1) 중 하나(P0)에 연결하기 위한 제 1 외부 통신 링크(370/590)에 연결되도록 된 제 1 세트의 집적회로 단자들을 포함하는 제 1 포트(372, 374/620 및 622)와;
    상기 복수의 입력/출력 디바이스들(330, 340, 350/530, 540, 550 및 560) 중 하나(350/550)에 연결하기 위한 제 2 외부 통신 링크(380/592)에 연결되도록 된 제 2 세트의 집적회로 단자들을 포함하는 제 2 포트(382, 384/630 및 632)와; 그리고
    상기 제 1 포트(372, 374/620 및 622)와 상기 제 2 포트(382, 384/630 및 632) 사이에 연결되는 배선 회로(interconnection circuit)(390, 392/606, 608, 612 및 614)를 포함하며,
    여기서 상기 프로세서 써로게이트는 자신의 중앙 처리 유닛(CPU)을 구비함이 없이 실제 프로세서(actual processor)를 수용하는 소켓 내에 물리적으로 삽입되도록 된 것을 특징으로 하는 프로세서 써로게이트.
  2. 제 1항에 있어서,
    상기 배선 회로(390 및 392)는 상기 제 1 포트(372 및 374)와 상기 제 2 포트(382 및 384) 사이에 수동 배선을 포함하는 것을 특징으로 하는 프로세서 써로게이트.
  3. 제 1항에 있어서,
    상기 배선 회로(606, 608, 612 및 614)는 상기 제 1 포트(620 및 622)와 상기 제 2 포트(630 및 632) 사이에 능동 배선을 포함하는 것을 특징으로 하는 프로세서 써로게이트.
  4. 제 3항에 있어서,
    상기 배선 회로(606, 608, 612 및 614)는 상기 제 1 포트(620 및 622)에 연결되는 제 1 통신 링크 제어기(612)와;
    상기 제 2 포트(630 및 632)에 연결되는 제 2 통신 링크 제어기(614)와;
    그리고 상기 제 1 통신 링크 제어기(612)에 연결되는 제 1 단자와 상기 제 2 통신 링크 제어기(614)에 연결되는 제 2 단자를 구비한 크로스바(crossbar) 스위치(608)를 더 포함하는 것을 특징으로 하는 프로세서 써로게이트.
  5. 실제 프로세서(actual processor)(310)를 갖는 제 1 프로세싱 노드(P0)와, 상기 제 1 프로세싱 노드(P0)에 연결됨과 아울러 프로세서 써로게이트를 갖는 제 2 프로세싱 노드(S1)를 구비한 멀티프로세서 데이터 프로세싱 시스템(300)에서 사용하기 위한 프로세서 써로게이트로서,
    상기 프로세서 써로게이트의 제 1 포트(372 및 374)를 형성함과 아울러 상기 실제 프로세서(310)의 제 1 링크 제어기(212)에 대응하는 위치들에 배치된 복수의 제 1 단자들과, 그리고 상기 프로세서 써로게이트의 제 2 포트(382 및 384)를 형성함과 아울러 상기 실제 프로세서(310)의 제 2 링크 제어기(214)에 대응하는 위치들에 배치된 복수의 제 2 단자들을 구비한 집적회로 패키지와; 그리고
    상기 제 1 포트(372 및 374)의 복수의 제 1 단자들과 상기 제 2 포트(382 및 384)의 복수의 제 2 단자들 중 대응하는 것들 사이에 복수의 전기 배선들(390 및 392)을 포함하며,
    여기서 상기 프로세서 써로게이트는 자신의 중앙 처리 유닛(CPU)을 구비함이 없이 실제 프로세서(actual processor)를 수용하는 소켓 내에 물리적으로 삽입되도록 된 것을 특징으로 하는 프로세서 써로게이트.
  6. 제 5항에 있어서,
    상기 복수의 전기 배선들(390 및 392)은 상기 제 1 포트(372 및 374)의 복수의 입력 단자들(372)과 상기 제 2 포트(382 및 384)의 대응하는 복수의 출력 단자들(382) 사이의 제 1 세트의 내부 배선들(390)과; 그리고
    상기 제 2 포트(382 및 384)의 복수의 입력 단자들(384)과 상기 제 1 포트(372 및 374)의 대응하는 복수의 출력 단자들(374) 사이의 제 2 세트의 내부 배선들(392)을 포함하는 것을 특징으로 하는 프로세서 써로게이트.
  7. 제 5항에 있어서,
    상기 실제 프로세서(310)의 상기 제 1 및 제 2 링크 제어기들(212 및 214)은 HyperTransportTM I/O 링크 규격 Revision 1.05와 호환가능한 것을 특징으로 하는 프로세서 써로게이트.
  8. 실제 프로세서(110)를 포함하는 제 1 프로세싱 노드(P0)와;
    상기 제 1 프로세싱 노드(P0)에 연결되는 제 1 포트(372, 374/620 및 622)와, 제 2 포트(382, 384/630 및 632)와, 그리고 상기 제 1 포트(372, 374/620 및 622)와 상기 제 2 포트(382, 384/630 및 632) 사이에 연결되는 배선 회로(390, 392/606, 608, 612, 614)를 구비한 프로세서 써로게이트(320/520)를 포함하는 제 2 프로세싱 노드(S1)와; 그리고
    상기 제 2 프로세싱 노드(S1)의 상기 제 2 포트(382, 384/630 및 632)에 연결됨과 아울러 상기 프로세서 써로게이트(320/520)를 통해 상기 실제 프로세서(110)에 액세스 가능한 입력/출력 디바이스(350/550)를 포함하며,
    여기서 상기 프로세서 써로게이트(320/520)는 자신의 중앙 처리 유닛(CPU)을 구비함이 없이 실제 프로세서(actual processor)를 수용하는 소켓 내에 물리적으로 삽입되도록 된 것을 특징으로 하는 멀티프로세서 데이터 프로세싱 시스템.
  9. 제 8항에 있어서,
    상기 배선 회로(390 및 392)는 상기 제 1 포트(372 및 374)와 상기 제 2 포트(382 및 384) 사이에 수동 배선을 포함하는 것을 특징으로 하는 멀티프로세서 데이터 프로세싱 시스템.
  10. 제 8항에 있어서, 상기 배선 회로(606, 608, 612 및 614)는 상기 제 1 포트(620 및 622)와 상기 제 2 포트(630 및 632) 사이에 능동 배선을 포함하는 것을 특징으로 하는 멀티프로세서 데이터 프로세싱 시스템.
KR1020067009129A 2003-10-10 2004-06-04 멀티프로세서 시스템들에서 사용하기 위한 프로세서써로게이트와 이를 사용하는 멀티프로세서 시스템 KR101077285B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/683,859 2003-10-10
US10/683,859 US7171499B2 (en) 2003-10-10 2003-10-10 Processor surrogate for use in multiprocessor systems and multiprocessor system using same
PCT/US2004/017704 WO2005041053A2 (en) 2003-10-10 2004-06-04 Processor surrogate for use in multiprocessor systems and multiprocessor system using same

Publications (2)

Publication Number Publication Date
KR20060111505A KR20060111505A (ko) 2006-10-27
KR101077285B1 true KR101077285B1 (ko) 2011-10-27

Family

ID=34422850

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020067009129A KR101077285B1 (ko) 2003-10-10 2004-06-04 멀티프로세서 시스템들에서 사용하기 위한 프로세서써로게이트와 이를 사용하는 멀티프로세서 시스템

Country Status (8)

Country Link
US (1) US7171499B2 (ko)
EP (1) EP1671238B1 (ko)
KR (1) KR101077285B1 (ko)
CN (1) CN1890653B (ko)
DE (1) DE602004014169D1 (ko)
GB (1) GB2423170B (ko)
TW (1) TWI353523B (ko)
WO (1) WO2005041053A2 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6836815B1 (en) * 2001-07-11 2004-12-28 Pasternak Solutions Llc Layered crossbar for interconnection of multiple processors and shared memories
DE102004052576A1 (de) * 2004-10-29 2006-05-04 Advanced Micro Devices, Inc., Sunnyvale Paralleler Verarbeitungsmechanismus für Multiprozessorsysteme
TW200719149A (en) * 2005-11-09 2007-05-16 Tyan Computer Corp Compurter system and its bridging module
TWI301239B (en) * 2005-12-16 2008-09-21 Mitac Int Corp Multi-processor computer system of installing bridge module into processor slot, related bridge module and related initialization method
TW200727139A (en) * 2006-01-06 2007-07-16 Tyan Computer Corp Computer system and memory bridge thereof
KR100746364B1 (ko) * 2006-07-28 2007-08-06 엠텍비젼 주식회사 메모리 공유 방법 및 장치
US20080114918A1 (en) * 2006-11-09 2008-05-15 Advanced Micro Devices, Inc. Configurable computer system
US7853638B2 (en) * 2007-01-26 2010-12-14 International Business Machines Corporation Structure for a flexibly configurable multi central processing unit (CPU) supported hypertransport switching
US7797475B2 (en) * 2007-01-26 2010-09-14 International Business Machines Corporation Flexibly configurable multi central processing unit (CPU) supported hypertransport switching
JP4895972B2 (ja) * 2007-10-22 2012-03-14 アラクサラネットワークス株式会社 リングプロトコル高速切替方法およびその装置
WO2010039143A1 (en) * 2008-10-02 2010-04-08 Hewlett-Packard Development Company, L.P. Managing latencies in a multiprocessor interconnect
US8373709B2 (en) * 2008-10-03 2013-02-12 Ati Technologies Ulc Multi-processor architecture and method
US7741867B2 (en) * 2008-10-30 2010-06-22 Hewlett-Packard Development Company, L.P. Differential on-line termination
US8543753B2 (en) * 2011-04-06 2013-09-24 International Business Machines Corporation Multi-use physical architecture
US9678159B2 (en) * 2015-03-04 2017-06-13 Cavium, Inc. Communication and control topology for efficient testing of sets of devices
US10268630B1 (en) * 2017-10-24 2019-04-23 Hewlett Packard Enterprise Development Lp Noncoherent interprocessor communication remapping node controller
US10360167B1 (en) * 2018-01-22 2019-07-23 Dell Products L.P. Systems and methods for using a bus exchange switch to control processor affinity

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4014005A (en) 1976-01-05 1977-03-22 International Business Machines Corporation Configuration and control unit for a heterogeneous multi-system
US5297272A (en) 1989-08-02 1994-03-22 Advanced Logic Research, Inc. Apparatus for automatically disabling and isolating a computer's original processor upon installation of a processor upgrade card
EP0913777B1 (en) 1991-03-01 2005-05-11 Advanced Micro Devices, Inc. Output buffer for microprocessor
EP0529142A1 (en) 1991-08-30 1993-03-03 Acer Incorporated Upgradeable/downgradeable computers
US6128685A (en) * 1998-02-18 2000-10-03 Micron Technology, Inc. Method for terminating a processor bus
US6553430B1 (en) * 1999-09-17 2003-04-22 Advanced Micro Devices, Inc. Computer system implementing flush operation
US6751698B1 (en) * 1999-09-29 2004-06-15 Silicon Graphics, Inc. Multiprocessor node controller circuit and method
US6877061B2 (en) * 2000-03-31 2005-04-05 Emc Corporation Data storage system having dummy printed circuit boards
US6667960B1 (en) * 2000-04-29 2003-12-23 Hewlett-Packard Development Company, L.P. Protocol for identifying components in a point-to-point computer system
US6738868B2 (en) * 2000-06-10 2004-05-18 Hewlett-Packard Development Company, L.P. System for minimizing directory information in scalable multiprocessor systems with logically independent input/output nodes
US6675265B2 (en) * 2000-06-10 2004-01-06 Hewlett-Packard Development Company, L.P. Multiprocessor cache coherence system and method in which processor nodes and input/output nodes are equal participants
US6633960B1 (en) * 2000-08-31 2003-10-14 Hewlett-Packard Development Company, L.P. Scalable directory based cache coherence protocol
US6651131B1 (en) * 2000-09-06 2003-11-18 Sun Microsystems, Inc. High bandwidth network and storage card
US6454585B1 (en) * 2001-08-01 2002-09-24 Compaq Information Technologies Group, L.P. Low profile NIC jumper solution using ZIF connector
US6874070B2 (en) * 2002-02-22 2005-03-29 Hewlett-Packard Development Company, L.P. System and method for memory interleaving using cell map with entry grouping for higher-way interleaving
US6944719B2 (en) * 2002-05-15 2005-09-13 Broadcom Corp. Scalable cache coherent distributed shared memory processing system
US20040236891A1 (en) * 2003-04-28 2004-11-25 International Business Machines Corporation Processor book for building large scalable processor systems
US7007125B2 (en) * 2003-06-24 2006-02-28 International Business Machines Corporation Pass through circuit for reduced memory latency in a multiprocessor system
US7106600B2 (en) * 2004-04-29 2006-09-12 Newisys, Inc. Interposer device
US20060080484A1 (en) * 2004-10-07 2006-04-13 Lefebvre Joel P System having a module adapted to be included in the system in place of a processor

Also Published As

Publication number Publication date
GB2423170B (en) 2007-06-06
US7171499B2 (en) 2007-01-30
EP1671238A2 (en) 2006-06-21
GB2423170A (en) 2006-08-16
WO2005041053A3 (en) 2005-11-03
CN1890653A (zh) 2007-01-03
US20050080978A1 (en) 2005-04-14
CN1890653B (zh) 2010-06-23
GB0607619D0 (en) 2006-05-31
WO2005041053A2 (en) 2005-05-06
TW200519617A (en) 2005-06-16
DE602004014169D1 (de) 2008-07-10
TWI353523B (en) 2011-12-01
EP1671238B1 (en) 2008-05-28
KR20060111505A (ko) 2006-10-27

Similar Documents

Publication Publication Date Title
KR101077285B1 (ko) 멀티프로세서 시스템들에서 사용하기 위한 프로세서써로게이트와 이를 사용하는 멀티프로세서 시스템
KR100600928B1 (ko) 프로세서 북 및 데이터 처리 시스템
US9946674B2 (en) Scalable multi-core system-on-chip architecture on multiple dice for high end microcontroller
US7606959B2 (en) Multiprocessor system using stacked processor modules and board to board connectors
US5908468A (en) Data transfer network on a chip utilizing a multiple traffic circle topology
KR20050013076A (ko) 시스템 온 칩 디자인을 위한 컴포넌트로서의 독립프로세서 서브시스템
US7596650B1 (en) Increasing availability of input/output (I/O) interconnections in a system
JP4800607B2 (ja) コンピューティング・システムにおける周辺装置用ユニバーサル・コントローラ
WO2018203754A1 (en) Cache coherent node controller for scale-up shared memory systems
CN107408095A (zh) 通道资源的重定向
CN1979460A (zh) 多处理器系统的处理器配置架构
TWI301239B (en) Multi-processor computer system of installing bridge module into processor slot, related bridge module and related initialization method
US20040022022A1 (en) Modular system customized by system backplane
US20060080484A1 (en) System having a module adapted to be included in the system in place of a processor
EP4123469A2 (en) Scalable computing device
US9338918B2 (en) Socket interposer and computer system using the socket interposer
US8782302B2 (en) Method and apparatus for routing transactions through partitions of a system-on-chip
TWI771952B (zh) 利用基板管理控制器進行韌體更新動作的伺服器系統
US20060129732A1 (en) Multi-socket circuit board chip bridging device
US6553447B1 (en) Data processing system with fully interconnected system architecture (FISA)
KR20030011242A (ko) 일반적 통신 인터페이스를 구비한 집적회로
CN102902647A (zh) 设置在i2c从机印刷电路板的asic芯片和印刷电路板
US20230283547A1 (en) Computer System Having a Chip Configured for Memory Attachment and Routing
CN109992562A (zh) 一种基于Zynq的存储服务器
KR20010047672A (ko) 운용 메모리부의 메모리 모듈

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
LAPS Lapse due to unpaid annual fee