KR100785586B1 - 제 1 주소 리피터와 제 2 주소 리피터간 효율적 거래송출을 위한 방법 및 장치 - Google Patents

제 1 주소 리피터와 제 2 주소 리피터간 효율적 거래송출을 위한 방법 및 장치 Download PDF

Info

Publication number
KR100785586B1
KR100785586B1 KR1020027015212A KR20027015212A KR100785586B1 KR 100785586 B1 KR100785586 B1 KR 100785586B1 KR 1020027015212 A KR1020027015212 A KR 1020027015212A KR 20027015212 A KR20027015212 A KR 20027015212A KR 100785586 B1 KR100785586 B1 KR 100785586B1
Authority
KR
South Korea
Prior art keywords
repeater
transaction
address
computer system
bus
Prior art date
Application number
KR1020027015212A
Other languages
English (en)
Other versions
KR20020097268A (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 KR20020097268A publication Critical patent/KR20020097268A/ko
Application granted granted Critical
Publication of KR100785586B1 publication Critical patent/KR100785586B1/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/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
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/4031Coupling between buses using bus bridges with arbitration
    • 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
    • G06F13/4045Coupling between buses using bus bridges where the bus bridge performs an extender function

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Abstract

제 1 리피터와 제 1 리피터에 연결된 제 2 리피터를 포함하는 컴퓨터 시스템으로서, 이 컴퓨터 시스템은 제 1 리피터에 연결된 제 3 리피터를 또한 포함한다. 제 1 리피터는 제 1 리피터와 제 2 리피터간 거래를 중재하고 제 1 리피터와 제 3 리피터간 거래를 또한 중재하는 제 1 아비터를 내장한다. 제 2 리피터는 제 1 리피터로부터 거래를 수신하여, 제 1 리피터로부터 제 2 리피터에게로 거래 수신을 예측하는 제 2 아비터를 내장한다.

Description

제 1 주소 리피터와 제 2 주소 리피터간 효율적 거래 송출을 위한 방법 및 장치{METHOD AND APPARATUS FOR EFFICIENTLY BROADCASTING TRANSACTIONS BETWEEN A FIRST ADDRESS REPEATER AND A SECOND ADDRESS REPEATER}
본 발명은 멀티프로세서 컴퓨터 시스템 분야에 관한 것으로서, 특히, 멀티프로세서 컴퓨터 시스템 내에 여러개의 마이크로프로세서를 구조적으로 연결한 시스템 분야에 관한 것이다.
멀티프로세싱 컴퓨터 시스템은 연산 작업 시행을 위해 사용될 수 있는 두개 이상의 마이크로프로세서를 포함한다. 특정 연산 작업이 한 마이크로프로세서에 실행될 수 있고 이때 다른 마이크로프로세서에서는 관련없는 또다른 연산작업들이 실행된다. 대안으로, 연산작업을 전체적으로 실행하는 데 필요한 시간을 줄이기 위해 특정 연산 작업의 구성성분들을 여러 마이크로프로세서 사이에 분배시킬 수 있다.
상용 멀티프로세싱 컴퓨터 시스템에서 유행하는 구조는 대칭 멀티프로세서(SMP) 구조이다. 통상적으로 SMP 컴퓨터 시스템은 캐시 수직구조를 통해 공유 버스에 연결되는 다수의 마이크로프로세서를 포함한다. 메모리가 버스에 추가적으로 연결되며, 메모리는 시스템의 마이크로프로세서 사이에서 공유된다. 메모리 내 특정 메모리 위치로의 접근은 어떤 다른 특정 메모리 위치로의 접근과 비 슷한 시간에 발생한다. 메모리 내 각각의 위치가 균일한 방식으로 접근되기 때문에, 이 구조는 UMA(uniform memory architecture)라 불린다.
프로세서가 내부 캐시와 함께 설정되고, SMP 컴퓨터 시스템의 공유 버스와 마이크로프로세서 사이의 캐시 수직구조에 한개 이상의 캐시가 포함된다. 특정 메인 메모리 주소에 위치하는 데이터의 다수의 복제본들이 이 캐시들 안에 저장된다. 특정 주소가 어떤 주어진 시간에 정확하게 한 데이터 값을 저장하는 공유 메모리 모델을 유지하기 위해, 공유 버스 컴퓨터 시스템은 캐시 코히어런시(cash coherency)를 이용한다. 일반적으로, 특정 메모리 주소에 저장되는 데이터에 대한 연산 결과가 캐시 구조 내 데이터의 각 복제본에 반영될 경우 연산이 코히어런트(coherent)하다고 말한다. 예를 들어, 특정 메모리 주소에 저장된 데이터가 업데이트될 때 이전 데이터의 복제본을 저장하고 있는 캐시에 업데이트된 데이터가 공급될 수 있다. 대안으로, 특정 메모리 주소로의 이어지는 접근으로 인해 업데이트된 복제본이 메인 메모리로부터 전송되도록, 이전 데이터의 복제본이 캐시 내에서 무효화될 수 있다. 공유 버스 시스템의 경우에, 스투프 버스 프로토콜이 일반적으로 사용된다. 공유 버스 상에서 실행되는 각각의 코히어런트 거래는 캐시내 데이터에 대해 조사된다(또는 스누핑된다). 결과 데이터의 복제본이 발견되면, 데이터를 내장한 캐시 라인의 상태가 코히어런트 거래에 따라 업데이트된다.
불행하게도, 공유 버스 구조는 멀티프로세싱 컴퓨터 시스템의 유용성을 제한하는 여러 결함을 내재하고 있다. 추가적인 마이크로프로세서가 버스에 연결됨에 따라, 데이터와 명령을 마이크로프로세서에 공급하기 위해 필요한 대역폭이 버스의 피크 대역폭을 넘을 수 있다. 따라서, 일부 마이크로프로세서가 가용 버스 대역폭을 기다려야 하며, 마이크로프로세서의 대역폭 요구사항이 가용 버스 대역폭을 넘을 때 컴퓨터 시스템의 퍼포먼스가 문제점을 일으키게 될 것이다.
추가적으로, 공유 버스에 더 많은 마이크로프로세서를 더하면 버스에 축전적 부하가 증가하게 되고, 심지어는 버스의 물리적 길이를 증가시킬 수도 있다. 증가된 축전적 부하와 확장된 버스 길이는 버스 사이에서 신호 전파 지연을 증가시킨다. 전파 지연이 증가함으로서, 거래 실행 시간이 길어진다. 따라서, 더 많은 마이크로프로세서가 추가됨에 따라 버스의 피크 대역폭이 감소할 수 있다.
더 많은 마이크로프로세서와 소자들이 공유 버스 시스템에 추가됨에 따라 발생되는 문제점을 처리하는 공통적 방식은 수직구조의 버스를 가지는 것이다. 수직 구조의 공유 버스 시스템에서는 마이크로프로세서와 그 외 다른 버스 소자들이 여러 로우-레벨 버스(low-level buses) 사이에서 나누어진다. 이 로우-레벨 버스들은 하이-레벨 버스(high-level buses)에 의해 연결된다. 거래는 로우-레벨 버스에서 발원하여, 하이-레벨 버스로 전송된 후, 다시 리피터(repeater)에 의해 모든 로우-레벨 버스로 되돌아온다. 따라서 모든 버스 소자들은 동일한 시간에 거래를 보게되고, 거래는 정렬 상태를 유지한다. 수직 구조 공유 버스는 모든 소자에 대한 한개의 거대 공유 버스로 나타난다. 추가적으로, 수직구조는 단일 대형 공유 버스의 전기적 제한사항을 극복한다.
발명의 한 실시예는 제 1 리피터(repeater)와 제 1 리피터에 연결된 제 2 리 피터를 포함하는 컴퓨터 시스템이다. 이 컴퓨터 시스템은 제 1 리피터에 연결되는 제 3 리피터를 또한 포함한다. 제 1 리피터는 제 1 리피터와 제 2 리피터간 거래를 중재하면서 제 1 리피터와 제 3 리피터간 거래도 중재하는 제 1 아비터(arbiter)를 내장한다. 제 2 리피터는 제 1 리피터로부터 거래를 수신하고, 제 1 리피터로부터 제 2 리피터까지 거래 수신을 예측하는 제 2 아비터를 내장한다.
발명의 또다른 실시예는 제 1 리피터와 제 1 리피터에 연결된 제 2 리피터를 포함하는 컴퓨터 시스템이다. 컴퓨터 시스템은 제 1 리피터에 연결된 제 3 리피터를 또한 포함한다. 제 1 리피터는 제 1 리피터와 제 2 리피터간 거래를 중재하면서 제 1 리피터와 제 3 리피터간 거래도 중재하는 제 1 아비터(arbiter)를 내장한다. 제 2 리피터는 제 1 리피터로부터 거래를 수신하고, 제 1 리피터로부터 제 3 리피터까지 거래 수신을 예측하는 제 2 아비터를 내장한다.
발명의 또다른 실시예는 제 1 리피터, 다수의 클라이언트에 연결되는 제 2 리피터, 그리고 제 3 리피터를 내장한 컴퓨터 시스템에서 실행된다. 제 1 리피터는 제 2 리피터와 제 3 리피터에 연결된다. 이 방법은 1) 두 번째 다수의 클라이언트로부터 제 2 리피터로 거래를 전송하고, 2) 제 2 리피터의 유출 요청 큐에 거래를 저장하며, 3) 제 2 리피터로부터 제 1 리피터까지 거래를 전송하고, 4) 제 2 리피터의 유출 요청 큐로부터 거래를 불러오며, 5) 불러온 거래를 제 2 리피터로부터 첫 번째 다수의 클라이언트까지 전송하는, 단계로 이루어진다.
도 1은 멀티프로세싱 컴퓨터 시스템의 블록도표.
도 2는 L1 주소 리피터의 블록도표.
도 3은 아비터의 블록도표.
도 4a는 CPU 포트의 블록도표.
도 4b는 CPU 포트의 또다른 블록도표.
도 5는 L2 포트의 블록도표.
도 6은 L2 주소 리피터의 블록도표.
도 7a는 L1 포트의 블록도표.
도 7b는 L1 포트의 또다른 블록도표.
도 8은 단순화된 멀티프로세싱 컴퓨터 시스템의 블록도표.
도 9는 도 8의 컴퓨터 시스템을 운영하는 한 방법의 타이밍 도표.
멀티프로세싱 컴퓨터 시스템(100)의 블록도표가 도 1에 도시된다. 멀티프로세싱 컴퓨터 시스템은 두개의 L1 주소 리피터 노드(125, 155), 단일 L2 주소 리피터(130)를 포함한다. 제 1 L1 주소 리피터 노드(125)는 제 1 L1-L2 버스(160)를 통해 L2 주소 리피터에 연결된다. 마찬가지로, 제 2 L1-L2 버스(165)를 통해 L2 주소 리피터에 제 2 L1 주소 리피터 노드(155)가 연결된다. 제 2 L1 주소 리피터 노드(155)는 제 1 L1 주소 리피터 노드(125) 안에서와 동일한 수의 CPU를 내장할 수 있다. 대안으로, 제 2 L1 주소 리피터 노드(155)의 CPU 수는 제 1 L1 주소 리피터 노드(15) 내 CPU의 수보다 클 수도 있고 작을 수도 있다. 컴퓨터 시스템(100)이 L1 주소 리피터 입/출력 노드와 입/출력 장치처럼 다른 구성성분을 포함할 수도 있 으나, 이 구성성분들을 발명의 본질을 흐리지 않도록 도시되지 않았다.
5.1 L1 주소 리피터 노드
L1 주소 리피터 노드(125)는 다수의 마이크로프로세서(CPU)(105, 110, 115)를 포함할 수 있다. 한 실시예에서, CPU는 울트라스파크III(UltraSPARC-III) 마이크로프로세서일 수 있다. 그러나 다른 실시예에서는 CPU가 디지털 신호 프로세서(DSP)일 수도 있고, 인텔, 모토롤라, 텍사스 인스트루먼트, 트랜스메타, 또는 인터내셔널 비즈니스 머신 회사에 의해 제작된 마이크로프로세서일 수도 있다. 이 CPU들은 DRAM이나 RAMBUS 메모리같은 메모리와, 고속 캐시 메모리를 포함할 수도 있다. CPU(105, 110, 115)는 CPU 버스(170, 175, 180)를 통해 L1 주소 리피터에 연결된다. CPU 버스(170, 175, 180)는 버스 거래를 전달할 수 있는 어떤 버스도 가능하다. 한 실시예에서, CPU 버스는 60비트-폭 데이터 경로를 제공할 수 있고, 당 분야에 공지된 바와 같이 제어 신호용 추가 신호 라인을 포함할 수도 있다.
CPU(105, 110, 115)는 버스 거래를 송출하고 수신함으로서 L1 주소 리피터(120)와 통신할 수 있다. 버스 거래는 비트-인코딩된 패킷으로 송출될 수 있다. 이 패킷들은 주소, 명령, 그리고 소스 ID를 포함할 수도 있다. 주소처리 모드나 마스크 정보같은 다른 정보가 각각의 거래에서 인코딩될 수도 있다.
5.2 L1 주소 리피터
L1 주소 리피터(120)의 블록도표가 도 2에 제시된다. L1 주소 리피터(120)는 다수의 CPU 포트(205, 210, 215)를 포함한다. 이 포트들은 CPU 버스(170, 175, 180)를 통해 CPU와 접한다. CPU 포트는 아래 섹션 5.2.1에서 상세하게 설명된다. L2 포트는 섹션 5.2.2에서 설명된다.
5.2.1 CPU 포트
도 4a는 CPU 포트의 블록도표를 제시한다. 도 4a는 CPU 버스로부터 CPU 포트를 통해 CPU L1 버스로 나오게되는 데이터 흐름을 또한 제시한다. 도 4a에 도시되는 바와 같이, CPU 포트는 유입 요청 큐(IRQ)(405)를 내장한다. CPU 포트가 CPU로부터 거래를 수신하였으나 예를 들어 L2 포트가 CPU-L1 버스의 제어 하에 있기 때문에 거래가 L2 포트에 즉시 전달되지 않을 경우, IRQ(405)가 거래를 저장한다.
IRQ(405)는 시프트 레지스터와 같은 다수의 레지스터일 수도 있고, 선입선출(FIFO) 버퍼, 서큘러 버퍼, 큐 버퍼같은 버퍼일 수도 있다. IRQ(405)는 거래를 저장하기에 충분한 폭을 가진다. 한 실시예에서, IRQ(405)는 60비트 폭으로서, 16개의 거래에 대한 저장공간을 내장한다. CPU 포트가 CPU-L1 버스에 접근을 얻을 때, 거래는 멀티플렉서(410)를 통과하여 CPU-L1 버스로 출력된다.
도 4b는 CPU-L1 버스로부터 수신한 데이터가 CPU 포트를 통해 CPU 버스에 출력되는 흐름을 제시한다. 한 실시예에서, CPU 포트는 CPU-L1 버스로부터 데이터를 CPU 버스에 직접 전달한다. (도시되지 않는) 다른 실시예에서, CPU 포트는 출력 큐를 또한 포함할 수 있고, 이는 다수의 CPU 포트 사이에 공유될 수도 있고 되지 않을 수도 있다.
5.2.2 L2 포트
도 5는 L2 포트의 블록도표이다. L2 포트가 CPU 포트로부터 CPU-L1 버스를 통해 거래를 수신하기 때문에, 거래는 입력 멀티플렉서(505)를 통과한다. 그후 거 래는 L1-L2 버스에 도달한다. 거래는 유출 요청 큐(ORQ)(510)에 또한 저장된다. ORQ(510)는 시프트 레지스터같은 다수의 레지스터일 수도 있고, 선입선출 버퍼, 서큘러 버퍼, 큐 버퍼처럼 버퍼일 수도 있다. ORQ(510)는 거래 저장에 충분한 폭을 가진다. 발명의 한 실시예에서, ORQ(510)는 60 비트 폭으로서, 16개의 거래에 대한 저장공간을 내장한다.
5.2.3 L1 주소 리피터 아비터(L1 Address Repeater Arbiters)
도 2에 도시되는 바와 같이, l1 주소 리피터는 아비터(225)를 또한 포함한다. 도 3에 도시되는 바와 같이, 아비터(225)는 CPU 아비터(305), L1-L1 분산 아비터(310), 그리고 스위치 모듈(315)을 포함할 수 있다.
5.2.3.1 CPU 아비터
CPU 아비터(305)는 다수의 CPU 포트(205, 210, 215)로부터 요청을 수신하여, 거래를 L2 포트(220)에 송출할 권리를 한개의 CPU 포트에 허가한다. 한 실시예에서, 중재 알고리즘은 다수의 CPU 포트(205, 210, 215) 사이에서의 라운드 로빈 알고리즘(round-robin algorithm)이다. 그러나, 우선순위-기반 알고리즘(priority based algorithms)처럼 다른 중재 알고리즘이 사용될 수도 있다. 일부 실시예에서, L2 포트(220)로부터 발원한 거래는 CPU 포트(205, 210, 215)로부터 발원하는 모든 거래에 대해 우선권을 부여받는다.
섹션 5.2에서 논의된 바와 같이, 발명의 일부 실시예에서는 각각의 CPU 포트(205, 210, 215)가 IRQ(405)를 가진다. 이러한 실시예에서, CPU 포트가 CPU-L1 버스로의 접근을 요청하고 이 요청이 허가되지 않을 경우, 거래는 CPU 포트의 IRQ에 들어간다. 이후, IRQ가 비지 않는 한 CPU 포트는 CPU-L1 버스로의 접근을 계속해서 요청할 것이다. 발명의 일부 실시예에서, CPU 포트가 새 거래를 수신하고 IRQ가 비어있지 않을 때는, 새 거래는 CPU의 포트로부터 발원한 거래 순서를 보존하는 방식으로 IRQ에 새 거래가 저장된다.
CPU 포트가 CPU-L1 버스로의 접근을 허락받을 경우, CPU 포트는 거래를 L2 포트로 송출한다. 그후, L2 포트가 거래를 수신하고 거래를 ORQ(510)에 저장한다. 거래 수신 후, L2 포트는 L1-L2 버스를 통해 거래를 L2 주소 리피터(130)에 송출한다.
5.2.3.2 L1-L1 분산 아비터
L1 주소 리피터간 여러 중재 방법이 사용될 수 있으나, 발명의 한 실시예에서, 분산 중재 기법이 구현될 수 있다. 본 실시예에서, L2 주소 리피터가 L1-L2 버스에 접근하는 시기를 각각의 L1 주소 리피터가 정확하게 예측할 수 있기 때문에 외부적 중재가 필요하지 않다.
L2 주소 리피터가 L1-L2 버스에 접근하는 시기를 L1 주소 리피터가 정확하게 예측할 수 있도록 하기 위해, L1 주소 리피터는 L2 주소 리피터에 전달되는 모든 거래를 알도록 하여야 한다. 발명의 일부 실시예에서는 L2 주소 리피터에 전달되는 각각의 거래를 발원시킨 L1 주소 리피터도 L1 주소 리피터가 알고있어야 한다.
L1 주소 리피터가 이러한 거래를 알게하는 한가지 방법은 각각의 L1 주소 리피터가 다른 L1 주소 리피터와 직접 통신하게 하는 것이다. 예를 들어, L1 주소 리피터가 L2 주소 리피터로의 거래를 구동할 때마다, 각각의 L1 주소 리피터는 TRAN-OUT 신호(135, 140)를 주장할 수 있다. 각각의 TRAN-OUT 신호(135, 140)는 컴퓨터 시스템의 나머지 L1 주소 리피터에서 TRAN-OUT 포트(도시되지 않음)에 연결될 수 있다. 대안으로, L1 주소 리피터간을 통신하는 다른 방법이 사용될 수도 있다.
앞서 설명한 실시예에서, 각각의 L1 주소 리피터는 통상적으로 컴퓨터 시스템의 나머지 L1 주소 리피터에 대한 TRAN-IN을 가진다. 본 실시예에서, 각각의 TRAN-IN 포트는 거래 카운터와 관련된다. 또다른 L1 주소 리피터가 거래를 L2 주소 리피터에 보낼 때마다 카운터가 증가한다. L1 주소 리피터가 나머지 L1 주소 리피터로부터 발원한 L2 주소 리피터로부터의 거래를 수신할 때마다 카운터가 감소한다. 특정 카운터의 값은 L2 주소 리피터의 IRQ 중 하나의 거래 숫자를 나타낸다. L2 주소 리피터 포트의 구조는 섹션 5.3.1에 설명된다.
5.2.3.3 스위치 모듈
도 3에서, L1 주소 리피터 아비터는 스위치 모듈(315)을 포함한다. 스위치 모듈(315)은 L1-L1 분산 아비터(310)와 CPU 아비터(305)에 연결되어, 섹션 5.2.3.2에 설명된 TRAN-OUT 발생을 제어한다.
5.3 주소 리피터
도 6은 L2 주소 리피터(130)의 블록도표를 나타낸다. L2 주소 리피터(130)는 다수의 L1 포트(605, 610, 615)을 포함한다. L1 포트(605, 610, 615)는 섹션 5.3.1에 또 설명된다. 한 실시예에서, 제 1 L1 포트(605)는 L1 주소 리피터 노드(125)에 연결될 수 있고, 제 2 L1 포트(610)는 제 2 L1 주소 리피터 노드(155)에 연결될 수 있다. 추가적으로, 제 3 L1 포트(615)는 I/O 서비스를 내장하는 L1 주소 리피터 노드에 연결될 수 있다. 도 6에 도시되는 바와 같이, L2-L2 버스(635)는 L1 포트(605, 610, 615)를 연결한다.
5.3.1 L1 포트
도 7a는 L1 포트의 블록도표이다. 도 7a는 L1-L2 버스로부터 L1 포트를 통해 L2-L2 버스에 이어지는 데이터의 흐름을 제시한다. 도 7a에 도시되는 바와 같이, L1 포트는 CPU 포트의 IRQ와 유사한, 유입 요청 큐(IRQ)(705)를 내장한다. IRQ 포트가 L1-L2 버스로부터 거래를 수신하였으나 또다른 L1 포트가 L2-L2 버스의 제어 하에 있기 때문에 거래가 L2-L2 버스로 즉시 전송되지 않을 경우, IRQ(705)가 거래를 저장한다.
IRQ(705)는 시프트 레지스터같은 다수의 레지스터일 수도 있고, FIFO 버퍼, 서큘러 버퍼, 큐 버퍼처럼 버퍼일 수도 있다. IRQ(705)는 거래를 저장하기에 충분한 폭을 지닌다. 한 실시예에서, IRQ(705)는 60비트 폭으로서 16개의 거래에 대한 저장 공간을 가진다. L1 포트가 L2-L2 버스로의 접근을 얻을 경우, 거래가 멀티플렉서/디멀티플렉서 조합(710)을 통해 L2-L2 버스에 전달된다.
도 7b는 L2-L2 버스로부터 수신한 데이터가 L1 포트를 통과하여 L1-L2 버스에 전달되는 그 흐름을 제시한다. 한 실시예에서, L1 포트는 L2-L2 버스로부터 유출 멀티플렉서(715)를 통해 L1-L2 버스에 전달된다.
5.3.2 L2 주소 리피터 아비터
도 6에 도시되는 바와 같이, L2 주소 리피터도 아비터(620)를 포함한다. 아비터(620)는 다수의 L1 포트(605, 610, 615)로부터 요청을 수신하여, 거래를 나머지 L1 포트에 송출하는 권리를 한개의 L1 포트에 허가한다. 한 실시예에서, 중재 알고리즘은 다수의 L1 포트(605, 610, 615)사이에서의 라운드 로빈 알고리즘이다. 그러나, 우선순위-기반 알고리즘처럼 다른 중재 알고리즘이 사용될 수도 있다.
섹션 5.3.1에 논의된 바처럼 발명의 일부 실시예에서는 각각의 L1 포트(605, 610, 615)가 IRQ(705)를 가진다. 이러한 실시예에서, L1 포트가 L2-L2 버스로의 접근을 요청하였으나 요청이 허가받지 못했을 경우, 거래가 L1 포트의 IRQ에 들어간다. 그후, IRQ가 비지 않는 한 L1 포트는 계속해서 L2-L2 버스로의 진입을 요청할 것이다. 발명의 일부 실시예에서는 L1 포트가 새 거래를 수신하였으나 IRQ가 비지 않을 경우, L1 포트로부터 발원한 거래 순서를 보존하는 방식으로 새 거래가 IRQ에 저장된다.
5.4 성능 최적화
5.4.1 L2 주소 리피터에서 L1 주소 리피터로의 전송 예측
각각의 L1 주소 리피터가 L2 주소 리피터 내 각각의 IRQ의 거래 숫자를 알고 있고 각각의 L1 주소 리피터는 L2 주소 리피터와 같은 중재 기법을 구현하기 때문에, 각각의 L1 주소 리피터는 L1 주소 리피터와 L2 주소 리피터 사이의 모든 통신을 예측한다. 따라서, L1 주소 리피터는 L2 주소 리피터로부터 거래를 언제 수신할지 예측할 수 있다. L1 주소 레지스터가 이러한 예측을 실행할 때, PREDICT-REQUEST 상태에 진입한다.
PREDICT-REQUEST 상태에 들어가면, L1 주소 리피터는 가까운 장래에 수신할 거래에 대한 CPU 버스를 비우도록 CPU 아비터에게 명령할 수 있다. 게다가, L2 주소 리피터로부터 L1 주소 리피터에 거래가 전달됨과 동시에 수신한 거래가 CPU 포 트에 전달되도록, L1 주소 리피터가 ORQ 변조기/출력 복조기 조합(515)의 상태를 미리 설정할 수 있다. 그 결과는 L1 주소 리피터로부터 L2 주소 리피터까지 최소의 대기시간으로 거래가 진행될 수 있다는 것이다. 한 실시예에서, 거래는 L2 주소 리피터 포트로부터 CPU 포트까지 한 사이클에 진행될 수 있다.
5.4.2 특정 L1 주소 리피터로부터 발원한 전송 예측
섹션 5.4.1에서 설명한 바와 같이, 각각의 L1 주소 리피터는 L1 주소 리피터와 L2 주소 리피터간에 모든 통신을 예측할 수 있다. 따라서, 일부 실시예에서는 L2 주소 리피터에 의해 다음에 송출될 거래를 발원시킨 L1 주소 리피터를 한 L1 주소 리피터가 예측할 수 있다.
L2 주소 리피터에 의해 송출될 거래를 L1 주소 리피터가 발원함을 L1 주소 리티퍼가 예측할 경우, L1 주소 리피터는 PREDICT-INCOMING 상태로 불리는 상태에 진입할 것이다. 이 상태에 진입하면, L1 주소 리피터는 L2 주소 리피터로부터 대신에 그 ORQ로부터 거래를 불러올 수 있다. 따라서, L1 주소 리피터는 그 ORQ로부터 거래를 불러올 수 있고, CPU-L1 버스를 통해 그 CPU 포트의 전부나 일부에게 거래를 송출할 것이다.
L1 주소 리피터가 그 ORQ로부터 거래를 얻을 수 있다는 점의 결과로, L2 주소 리피터는 거래를 발원한 L1 주소 리피터에 거래를 송출할 필요가 없다. L2 주소 리피터는 거래의 발원자가 아닌 L1 주소 리피터에만 거래를 송출하면 된다. 첫 번째 거래를 발원시킨 L1 주소 리피터에 L2 주소 리피터를 연결하는 L1 버스를 L2 주소 리피터가 이용할 필요가 없기 때문에, L2 주소 리피터가 나머지 L1 주소 리피터 에 첫 번째 거래를 전송함과 동시에 L2 주소 리피터에 제 2 거래를 전송하도록 한개의 L1 주소 리피터가 L1-L2 버스를 이용할 수 있다.
5.5 통신
도 8은 컴퓨터 시스템(100)을 단순화한 컴퓨터 시스템(800)이다. 도 9에 도시되는 시간 도표(900)는 컴퓨터 시스템(800)을 운영하는 한가지 방법을 도시한다. 시간 도표(900)의 각각의 컬럼은 특정 버스 사이클에 대응한다. 사이클 0에서는, CPU(805)가 CPU 버스(870)로의 접근을 요청한다. 사이클 2에서는 CPU 버스(870)로의 접근이 허가되었음을 CPU(805)가 결정한다. 그후 사이클 3에서는 CPU(805)가 거래 A를 CPU 버스(870) 상으로 안내한다. 사이클 4에서는 L1 주소 리피터(820)가 거래를 수신하여 L1-L2 버스(860)의 제어하에서 중재한다. 컴퓨터 시스템(800)이 아이들 상태이고 어떤 중재도 필요하지 않으면, 거래 A는 사이클 5에서 L2 주소 리피터(830)로 안내될 것이다.
사이클 5에서, L1 주소 리피터(820)는 TRAN-OUT(835)을 또한 안내한다. L1 주소 리피터(845)는 이 신호를 사이클 6에서 수신한다. L2 주소 리피터(830)가 가까운 장래에 거래 A를 송출할 것임을 L1 주소 리피터(820), L1 주소 리피터(845), 그리고 L2 주소 리피터(830) 모두가 알고있기 때문에, L1 주소 리피터(820)는 PREDICT-INCOMING 상태에 들어갈 것이고, L1 주소 리피터(855)는 PREDICT-REQUEST 상태에 들어갈 것이다. 사이클 7에서는 L2 주소 리피터(830)가 거래 A를 L1-L2 버스(865)에 송출한다. 사이클 8에서는 거래 A가 L1 주소 리피터(845)를 지난다. 거 래 A는 L1 주소 리피터(820) 내 ORQ로부터 불러온다.
사이클 9에서는 거래 A가 모든 CPU 버스(870, 880, 890) 상에서 송출된다. 사이클 10에서는 모든 CPU(805, 815, 885)가 수신한 거래 A를 가진다.
도 9는 L1-L2 버스(860)가 사이클 7에서 이용회지 않고 있음을 보여준다. 요소(905)는 이용되지 않는 버스 사이클을 표시한다. L1 주소 리피터(820)가 사이클 6에서 그 IRQ에 거래 B를 내장할 경우, 거래 B가 사이클 7동안 L1-L2 버스(860) 상의 L2 주소 리피터(830)에 송출될 수 있다. 이 성능 최적화는 L1-L2 버스(860)의 최대 이용을 보장한다.
5.6 결론
앞서 내용은 설명을 위해 제시된 것이다. 본 발명의 범위를 제한하고자 하는 의미로 제시된 것이 아니다. 따라서, 여러 수정 및 변경이 가능하다. 예를 들어, 추가적인 L1 주소 리피터 노드, 한개보다 많은 L2 주소 리피터를 가지는 것을 고려할 수 있다. 이러한 구성성분의 수를 증가시킴으로서, L2 주소 리피터같은 잉여 성분들이 컴퓨터 시스템을 계속 실행하게 하면서 교환할 수 있다.
게다가, 앞서 설명과 도면들이 CPU와 CPU 포트를 논의하지만 발명이 이에 제한되지 않는다. 메모리 제어기, I/O 브리지, DSP, 그래픽 제어기, 그리고 주소 리피터와 데이터 리피터같은 리피터처럼 클라이언트 장치들이 앞서 설명한 CPU를 대체할 수 있다. 마찬가지로, 앞서 언급한 클라이언트 장치들과 접하는 포트들이 CPU 포트를 대체할 수 있고, 본 발명의 범위 내에 있을 수 있다. 더욱이, 앞서 설명과 도면이 주소 리피터를 설명하지만, 발명은 여기에 제한되지 않는다. 데이터 리피터 같은 어떤 리피터도 앞서 언급한 주소 리피터들을 대체할 수 있고, 이는 발명의 범위 내에 있다.

Claims (24)

  1. a) 제 1 리피터,
    b) 제 1 리피터에 연결된 제 2 리피터, 그리고
    c) 제 1 리피터에 연결된 제 3 리피터
    를 포함하는 컴퓨터 시스템으로서, 제 1 리피터와 제 2 리피터간 거래를 중재하고 제 1 리피터와 제 3 리피터간 거래를 중재하는 제 1 아비터가 상기 제 1 리피터에 내장되고,
    제 2 리피터는 제 1 리피터로부터 거래를 수신하여 제 1 리피터로부터 제 2 리피터까지 거래 수신을 예측하는 제 2 아비터를 내장하는 것을 특징으로 하는 컴퓨터 시스템.
  2. 제 1 항에 있어서, 제 1 리피터가 주소 리피터인 것을 특징으로 하는 컴퓨터 시스템.
  3. 제 1 항에 있어서, 제 1 리피터, 제 2 리피터, 그리고 제 3 리피터가 주소 리피터인 것을 특징으로 하는 컴퓨터 시스템.
  4. 제 1 항에 있어서, 제 2 아비터가 분산형 아비터(distributed arbiter)인 것을 특징으로 하는 컴퓨터 시스템.
  5. 제 1 항에 있어서, 제 2 아비터가 제 3 리피터로부터 신호를 수신하는 분산형 아비터인 것을 특징으로 하는 컴퓨터 시스템.
  6. a) 제 1 리피터,
    b) 제 1 리피터에 연결된 제 2 리피터, 그리고
    c) 제 1 리피터에 연결된 제 3 리피터
    를 포함하는 컴퓨터 시스템으로서, 제 1 리피터와 제 2 리피터간 거래를 중재하고 제 1 리피터와 제 3 리피터간 거래를 중재하는 제 1 아비터가 상기 제 1 리피터에 내장되고,
    제 2 리피터는 제 1 리피터로부터 거래를 수신하여 제 1 리피터로부터 제 3 리피터까지 거래 수신을 예측하는 제 2 아비터를 내장하는 것을 특징으로 하는 컴퓨터 시스템.
  7. 제 6 항에 있어서, 제 1 리피터가 주소 리피터인 것을 특징으로 하는 컴퓨터 시스템.
  8. 제 6 항에 있어서, 제 1 리피터, 제 2 리피터, 제 3 리피터가 주소 리피터인 것을 특징으로 하는 컴퓨터 시스템.
  9. 제 6 항에 있어서, 제 2 아비터가 분산형 아비터인 것을 특징으로 하는 컴퓨터 시스템.
  10. 제 6 항에 있어서, 제 2 아비터가 제 3 리피터로부터 신호를 수신하는 분산형 아비터인 것을 특징으로 하는 컴퓨터 시스템.
  11. 제 1 리피터, 다수의 클라이언트에 연결된 제 2 리피터, 그리고 제 3 리피터를 내장한 컴퓨터 시스템에서 제 1 리피터가 제 2 리피터와 제 3 리피터에 연결될 때, 첫 번째 다수의 클라이언트에 거래를 전송하는 방법으로서, 이 방법은
    a) 두 번째 다수의 클라이언트로부터 제 2 리피터에게로 거래를 전송하고,
    b) 제 2 리피터의 유출 요청 큐에 거래를 저장하며,
    c) 제 2 리피터로부터 제 1 리피터에게로 거래를 전송하고,
    d) 제 2 리피터의 유출 요청 큐로부터 거래를 불러오며, 그리고
    e) 불러온 거래를 제 2 리피터로부터 첫 번째 다수의 클라이언트에게로 전송하는,
    이상의 단계를 포함하는 것을 특징으로 하는 방법.
  12. 제 11 항에 있어서, 제 1 사이클에서 제 1 리피터로부터 제 3 리피터에게로 거래를 전송하는 과정을 추가로 포함하는 것을 특징으로 하는 방법.
  13. 제 12 항에 있어서, 제 1 사이클에서 제 2 리피터로부터 제 1 리피터에게로 제 2 거래를 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  14. 제 11 항에 있어서, 제 2 리피터로부터 제 1 리피터에게로 거래를 전송하는 단계가 제 2 주소 리피터로부터 제 1 주소 리피터에게로 거래를 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
  15. 제 11 항에 있어서, 불러온 거래를 첫 번째 다수의 클라이언트에 전송하는 상기 단계가, 불러온 거래를 중앙처리장치를 포함하는 클라이언트에 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
  16. 제 1 리피터, 한 클라이언트에 연결된 제 2 리피터, 그리고 제 3 리피터를 내장한 컴퓨터 시스템에서 제 1 리피터가 제 2 리피터와 제 3 리피터에 연결될 때, 첫 번째 다수의 클라이언트에 거래를 전송하는 방법으로서, 이 방법은
    a) 상기 클라이언트로부터 제 2 리피터에게로 거래를 전송하고,
    b) 제 2 리피터의 유출 요청 큐에 거래를 저장하며,
    c) 제 2 리피터로부터 제 1 리피터에게로 거래를 전송하고,
    d) 제 2 리피터의 유출 요청 큐로부터 거래를 불러오며, 그리고
    e) 불러온 거래를 제 2 리피터로부터 상기 클라이언트에게로 전송하는,
    이상의 단계를 포함하는 것을 특징으로 하는 방법.
  17. 제 16 항에 있어서, 제 1 사이클에서, 제 1 리피터로부터 제 3 리피터에게로 거래를 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  18. 제 16 항에 있어서, 제 1 사이클에서, 제 2 리피터로부터 제 1 리피터에게로 제 2 거래를 전송하는 단계를 추가로 포함하는 것을 특징으로 하는 방법.
  19. 제 16 항에 있어서, 제 2 리피터로부터 제 1 리피터에게로 거래를 전송하는 단계가 제 2 주소 리피터로부터 제 1 주소 리피터에게로 거래를 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
  20. 제 16 항에 있어서, 불러온 거래를 클라이언트에 전송하는 상기 단계가, 불러온 거래를 중앙처리장치를 포함하는 클라이언트에 저장하는 과정을 포함하는 것을 특징으로 하는 방법.
  21. a) 제 1 리피터,
    b) 제 1 리피터에 연결된 제 2 리피터,
    c) 제 2 리피터에 연결된 클라이언트, 그리고
    d) 제 1 리피터에 연결된 제 3 리피터
    를 포함하는 컴퓨터 시스템으로서, 이때 제 2 리피터는 클라이언트에 의해 발생된 거래를 저장하기 위한 유출 요청 큐를 내장하고,
    제 2 리피터는 유출 요청 큐로부터 거래를 불러오고 이 거래를 클라이언트에 전송하도록 동작하는 것을 특징으로 하는 컴퓨터 시스템.
  22. 제 21 항에 있어서, 제 1 리피터가 주소 리피터인 것을 특징으로 하는 컴퓨터 시스템.
  23. 제 21 항에 있어서, 제 1 리피터, 제 2 리피터, 그리고 제 3 리피터가 주소 리피터인 것을 특징으로 하는 컴퓨터 시스템.
  24. 제 21 항에 있어서, 클라이언트가 중앙 처리 장치를 포함하는 것을 특징으로 하는 컴퓨터 시스템.
KR1020027015212A 2001-03-19 2002-02-04 제 1 주소 리피터와 제 2 주소 리피터간 효율적 거래송출을 위한 방법 및 장치 KR100785586B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/815,442 2001-03-19
US09/815,442 US6877055B2 (en) 2001-03-19 2001-03-19 Method and apparatus for efficiently broadcasting transactions between a first address repeater and a second address repeater

Publications (2)

Publication Number Publication Date
KR20020097268A KR20020097268A (ko) 2002-12-31
KR100785586B1 true KR100785586B1 (ko) 2007-12-14

Family

ID=25217795

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027015212A KR100785586B1 (ko) 2001-03-19 2002-02-04 제 1 주소 리피터와 제 2 주소 리피터간 효율적 거래송출을 위한 방법 및 장치

Country Status (6)

Country Link
US (1) US6877055B2 (ko)
EP (1) EP1370954A2 (ko)
JP (1) JP4129578B2 (ko)
KR (1) KR100785586B1 (ko)
AU (1) AU2002242091A1 (ko)
WO (1) WO2002075579A2 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6889343B2 (en) * 2001-03-19 2005-05-03 Sun Microsystems, Inc. Method and apparatus for verifying consistency between a first address repeater and a second address repeater
US6735654B2 (en) * 2001-03-19 2004-05-11 Sun Microsystems, Inc. Method and apparatus for efficiently broadcasting transactions between an address repeater and a client

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0817094A1 (en) 1996-07-02 1998-01-07 Sun Microsystems, Inc. A split-SMP computer system
US6167403A (en) 1997-06-23 2000-12-26 Compaq Computer Corporation Network device with selectable trap definitions

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57164636A (en) 1981-04-03 1982-10-09 Hitachi Ltd Control method for transmission system
US5265123A (en) 1990-02-15 1993-11-23 Advanced Micro Devices, Inc. Expandable repeater
US5636367A (en) 1991-02-27 1997-06-03 Vlsi Technology, Inc. N+0.5 wait state programmable DRAM controller
US5546587A (en) 1991-05-30 1996-08-13 Tandem Computers Incorporated Decentralized bus arbitration system which continues to assert bus request signal to preclude other from asserting bus request signal until information transfer on the bus has been completed
US5440752A (en) 1991-07-08 1995-08-08 Seiko Epson Corporation Microprocessor architecture with a switch network for data transfer between cache, memory port, and IOU
US5588125A (en) 1993-10-20 1996-12-24 Ast Research, Inc. Method and apparatus for increasing bus bandwidth on a system bus by inhibiting interrupts while posted I/O write operations are pending
JP3490131B2 (ja) 1994-01-21 2004-01-26 株式会社ルネサステクノロジ データ転送制御方法、データプロセッサ及びデータ処理システム
US5519838A (en) 1994-02-24 1996-05-21 Hewlett-Packard Company Fast pipelined distributed arbitration scheme
US6078337A (en) 1994-09-12 2000-06-20 Canon Kabushiki Kaisha Maintaining consistency of cache memory data by arbitrating use of a connection route by plural nodes
US5740174A (en) * 1995-11-02 1998-04-14 Cypress Semiconductor Corp. Method and apparatus for performing collision detection and arbitration within an expansion bus having multiple transmission repeater units
US5960034A (en) 1995-12-01 1999-09-28 Advanced Micro Devices, Inc. Expandable repeater with built-in tree structure arbitration logic
US5796605A (en) 1996-07-02 1998-08-18 Sun Microsystems, Inc. Extended symmetrical multiprocessor address mapping
US5754877A (en) 1996-07-02 1998-05-19 Sun Microsystems, Inc. Extended symmetrical multiprocessor architecture
US5852716A (en) 1996-07-02 1998-12-22 Sun Microsystems, Inc. Split-SMP computer system with local domains and a top repeater that distinguishes local and global transactions
US5923847A (en) * 1996-07-02 1999-07-13 Sun Microsystems, Inc. Split-SMP computer system configured to operate in a protected mode having repeater which inhibits transaction to local address partiton
US5805839A (en) 1996-07-02 1998-09-08 Advanced Micro Devices, Inc. Efficient technique for implementing broadcasts on a system of hierarchical buses
US5862357A (en) * 1996-07-02 1999-01-19 Sun Microsystems, Inc. Hierarchical SMP computer system
US5954809A (en) 1996-07-19 1999-09-21 Compaq Computer Corporation Circuit for handling distributed arbitration in a computer system having multiple arbiters
US5933610A (en) 1996-09-17 1999-08-03 Vlsi Technology, Inc. Predictive arbitration system for PCI bus agents
US6055598A (en) 1996-09-26 2000-04-25 Vlsi Technology, Inc. Arrangement and method for allowing sequence-independent command responses across a computer bus bridge
US5875179A (en) 1996-10-29 1999-02-23 Proxim, Inc. Method and apparatus for synchronized communication over wireless backbone architecture
US6041061A (en) 1997-01-31 2000-03-21 Macronix International Co., Ltd. Internal arbiter for a repeater in a computer network
US6260096B1 (en) 1999-01-08 2001-07-10 Intel Corporation Read latency across a bridge
JP3602293B2 (ja) 1997-04-22 2004-12-15 株式会社ソニー・コンピュータエンタテインメント データ転送方法及び装置
US6295281B1 (en) 1997-05-16 2001-09-25 3Com Corporation Symmetric flow control for ethernet full duplex buffered repeater
US5966729A (en) 1997-06-30 1999-10-12 Sun Microsystems, Inc. Snoop filter for use in multiprocessor computer systems
US6108736A (en) 1997-09-22 2000-08-22 Intel Corporation System and method of flow control for a high speed bus
US6243411B1 (en) 1997-10-08 2001-06-05 Winbond Electronics Corp. Infinitely expandable Ethernet network repeater unit
US6411628B1 (en) 1998-02-02 2002-06-25 Intel Corporation Distributed arbitration on a full duplex bus
US6567885B1 (en) 1999-08-16 2003-05-20 Sun Microsystems, Inc. System and method for address broadcast synchronization using a plurality of switches
US6446215B1 (en) 1999-08-20 2002-09-03 Advanced Micro Devices, Inc. Method and apparatus for controlling power management state transitions between devices connected via a clock forwarded interface
US6542940B1 (en) 1999-10-25 2003-04-01 Motorola, Inc. Method and apparatus for controlling task execution in a direct memory access controller
US6523076B1 (en) 1999-11-08 2003-02-18 International Business Machines Corporation Method and apparatus for synchronizing multiple bus arbiters on separate chips to give simultaneous grants for the purpose of breaking livelocks
US6557069B1 (en) 1999-11-12 2003-04-29 International Business Machines Corporation Processor-memory bus architecture for supporting multiple processors
US6247100B1 (en) 2000-01-07 2001-06-12 International Business Machines Corporation Method and system for transmitting address commands in a multiprocessor system
US20020133652A1 (en) 2001-03-19 2002-09-19 Tai Quan Apparatus for avoiding starvation in hierarchical computer systems that prioritize transactions
US6735654B2 (en) * 2001-03-19 2004-05-11 Sun Microsystems, Inc. Method and apparatus for efficiently broadcasting transactions between an address repeater and a client
US6826643B2 (en) 2001-03-19 2004-11-30 Sun Microsystems, Inc. Method of synchronizing arbiters within a hierarchical computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0817094A1 (en) 1996-07-02 1998-01-07 Sun Microsystems, Inc. A split-SMP computer system
US6167403A (en) 1997-06-23 2000-12-26 Compaq Computer Corporation Network device with selectable trap definitions

Also Published As

Publication number Publication date
AU2002242091A1 (en) 2002-10-03
US20020133657A1 (en) 2002-09-19
WO2002075579A2 (en) 2002-09-26
JP2005509199A (ja) 2005-04-07
JP4129578B2 (ja) 2008-08-06
KR20020097268A (ko) 2002-12-31
US6877055B2 (en) 2005-04-05
EP1370954A2 (en) 2003-12-17
WO2002075579A3 (en) 2003-03-27

Similar Documents

Publication Publication Date Title
KR100203441B1 (ko) 시스템 버스의 중앙집중화된 중재 제어를 행하는 컴퓨터 시스템 및 멀티프로세서시스템
US7818388B2 (en) Data processing system, method and interconnect fabric supporting multiple planes of processing nodes
KR950009578B1 (ko) 동기고속 패키트 교환방식 버스를 위한 장치 및 방법
US7627738B2 (en) Request and combined response broadcasting to processors coupled to other processors within node and coupled to respective processors in another node
US8139592B2 (en) Ticket-based operation tracking
EP0351955B1 (en) Multiprocessor systems with cross-interrogated store-in-caches
EP1615138A2 (en) Multiprocessor chip having bidirectional ring interconnect
US20020146022A1 (en) Credit-based flow control technique in a modular multiprocessor system
US5574868A (en) Bus grant prediction technique for a split transaction bus in a multiprocessor computer system
US20010055277A1 (en) Initiate flow control mechanism of a modular multiprocessor system
KR100516286B1 (ko) 프로세싱 노드들 간의 패킷 전송 방법 및 장치
US8102855B2 (en) Data processing system, method and interconnect fabric supporting concurrent operations of varying broadcast scope
US7809004B2 (en) Data processing system and processing unit having an address-based launch governor
US6826643B2 (en) Method of synchronizing arbiters within a hierarchical computer system
US6862646B2 (en) Method and apparatus for eliminating the software generated ready-signal to hardware devices that are not part of the memory coherency domain
KR100785586B1 (ko) 제 1 주소 리피터와 제 2 주소 리피터간 효율적 거래송출을 위한 방법 및 장치
US20010037426A1 (en) Interrupt handling via a proxy processor
US6889343B2 (en) Method and apparatus for verifying consistency between a first address repeater and a second address repeater
US6735654B2 (en) Method and apparatus for efficiently broadcasting transactions between an address repeater and a client
JP2002024007A (ja) プロセッサシステム
US20020133652A1 (en) Apparatus for avoiding starvation in hierarchical computer systems that prioritize transactions
JP3983926B2 (ja) マルチプロセッサコンピューティング環境におけるメッセージ受渡しのオーバランを防止する方法及びコンピュータシステム
JPH05210590A (ja) 書き込みキャッシュメモリのための装置および方法
JPWO2004046954A1 (ja) プロセッサモジュール及び情報処理装置

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
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20121122

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20131119

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20141124

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 12