KR100241644B1 - 정보 프로세싱 시스템 및 그 구현 방법 - Google Patents

정보 프로세싱 시스템 및 그 구현 방법 Download PDF

Info

Publication number
KR100241644B1
KR100241644B1 KR1019960045652A KR19960045652A KR100241644B1 KR 100241644 B1 KR100241644 B1 KR 100241644B1 KR 1019960045652 A KR1019960045652 A KR 1019960045652A KR 19960045652 A KR19960045652 A KR 19960045652A KR 100241644 B1 KR100241644 B1 KR 100241644B1
Authority
KR
South Korea
Prior art keywords
response
bus
coherency
interval
information
Prior art date
Application number
KR1019960045652A
Other languages
English (en)
Other versions
KR970049647A (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 KR970049647A publication Critical patent/KR970049647A/ko
Application granted granted Critical
Publication of KR100241644B1 publication Critical patent/KR100241644B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0813Multiuser, multiprocessor or multiprocessing cache systems with a network or matrix configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0815Cache consistency protocols
    • G06F12/0817Cache consistency protocols using directory methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Information Transfer Systems (AREA)
  • Multi Processors (AREA)

Abstract

정보 프로세싱 시스템은 버스를 통해 적어도 하나의 저장 장치에 결합되는 다수의 버스 장치를 포함한다. 버스상의 제 1 장치(“요구자”)는 데이터 및 일관성 정보를 얻기 위한 요구를 송출하며, 지정된 일관성 응답 간격 동안 일관성 정보에 대해 모니터링한다. 제 2 장치(“응답자”)는 일관성(coherency) 정보가 제 2 간격 동안 복귀될 것임을 표시하는 제 1 신호를 지정된 일관성 응답 간격 동안 전송하며, 제 2 간격 동안 일관성 정보를 요구자에 제공하는 제 2 신호를 전송한다.

Description

정보 프로세싱 시스템 및 그 구현 방법
본 발명은 전반적으로 데이터 프로세싱 시스템에 관한 것으로, 특히 멀티프로세서 시스템(multiprocessor system)에서 일관성 정보(coherency information)를 제공하는 시스템 및 방법에 관한 것이다.
공유 버스(a shared bus)를 통해 메모리 시스템에 결합된 다수의 버스 장치를 갖는 멀티프로세서 시스템에서, 버스 장치는 메모리 시스템내에 저장된 데이터의 특정 부분을 요구하는 판독 동작과 같은 동작을 송출(issue)한다. “스누프형(snoopy)” 버스 장치를 사용하는 시스템에서, 공유 버스에 결합된 버스 장치는 동작이 버스 장치의 캐시(cache)내에 포함된 데이터와 관련되는지를 결정하기 위해 동작을 모니터(monitor)한다. 이는 종종 “일관성 체킹(coherency checking)“이라 일컬어진다. 이러한 일관성 체킹은 가장 최근 버전의 복사본(copy)을 현재 보유하는 것이 메모리 시스템인지 버스 장치중 하나인지에 상관없이, 가장 최근의 유효한 버전의 요구된 데이터(requested data)가 요구 장치(requesting device)로 전송되는 것을 포함한다.
버스 장치가 공유 버스에 대해 버스 요구를 전송할 때, 여러 유형의 보고(reports)가 요구 장치에 반송(返送)될 수 있다. 요구 버스 장치에 반송되는 정보중 일부는, 요구된 데이터의 일관성에 관해, 즉 누가 그 요구된 데이터의 유효한 버전을 소유하고 있는지에 관해, 요구 버스 장치에 보고한다. 출원 번호가 08/316,980(HQ9-94-033)이며 발명의 명칭이 “DUAL LATENCY STATUS AND COHERENCY REPORTING FOR A MULTIPROCESSING SYSTEM”인 관련출원에서 개시된 바와 같이, 소정의 응답 윈도우(response window)(“어드레스 응답 윈도우”)가 일관성 보고를 위해 사용될 수 있다. 일관성 응답 윈도우로 또한 일컬어지는 이 윈도우는, 어드레스 및 요구 코드로부터 구성가능한 수 클럭 사이클 만큼 후에 배치되는데, 이는 다른 버스 장치들 각각내에서 필요한 캐시 디렉토리 참조로 인한 보다 길어진 지연 시간을 고려한 것이다.
일관성 정보를 즉시 획득하여 그 허용된 어드레스 응답 윈도우내에 복귀시킬 수 없을 때에는, 응답에 대한 윈도우가 연장될 것이 요구된다. 이 요구는 예를 들어, 불균일 메모리 액세스(non-uniform memory access ; NUMA) 유형 시스템 또는 스위칭된 메모리 디렉토리 유형 시스템에서 발생하는데, 그 이유는 이러한 시스템에서의 일관성 정보가, 로컬(local) 스누프형 버스상에서 항상 이용가능한 것은 아니어서, 판독 욕구가 다른 버스 또는 메모리 디렉토리 시스템으로 전송되어야 하기 때문이다. (NUMA 아키텍처에서, 프로세싱 시스템은 로컬 버스 메모리만을 갖는다. 메모리 디렉토리 아키텍처에서, 프로세싱 시스템은 어떤 로컬 버스에도 속하지 않는 글로벌 메모리(global menory)만을 갖는다.) 일관성 응답 윈도우의 소정의 연장에 대한 프로토콜은 출원 번호가 08/298,873(HQ9-94-017)이며, 발명이 명칭이 “SYSTEM AND METHOD FOR COMMUNICATING BETWEEN DEVICES”인 관련 출원에 개시되어 있다.
본 발명의 목적은 통상 NUMA 또는 메모리 디렉토리 기반 시스템내에서 발생되는 바와 같이, 판독 데이터가 요구 프로세서의 로컬 버스가 아닌 버스로부터 제공될 때, 일관성 보고의 실행을 향상시키는 것이다.
본 발명의 다른 목적은 하드웨어 신호를 이전에 정의된 프로토콜에 부가하지 않고서 이러한 판독 동작의 실행을 향상시키는 것이다.
이와 같은 목적을 달성하기 위해, 비로컬(non-local) 소스상의 데이터에 대한 판독 요구에 응답하여, 소정의 일관성 응답은 판독 요구가 받아들여졌을 경우(즉, 판독 동작에 응답하여 아무런 재시도 응답이 송출되지 않았을 경우) 복귀되고, 요구된 데이터는 비로컬 소스로부터 얻어지며, 데이터가 요구자(requestor)로 전달될 때 소정의 신호는 데이터의 일관성 상태를 나타낸다.
본 발명의 실시예의 다른 관점에서, 일관성 상태는 “공유” 또는 “배타” 중 어느 하나로서 표시된다.
본 발명은 재실행(ReRun) 동작을 기다린 후 판독 동작을 재송출할 필요없이 일관성 응답 윈도우를 연장시킬 수 있는 장점을 갖는다. 이는 NUMA 또는 메모리 디렉토리 유형 시스템내에서 비로컬 데이터에 대한 판독 동작의 대기시간을 현저하게 감소시킨다. 판독 동작은 모든 버스 동작의 실질적인 부분이기 때문에, 이는 시스템 성능을 현저하게 증가시킬 수 있다.
상기 설명에서는, 이하의 본 발명의 상세한 설명이 더욱 잘 이해될 수 있도록 본 발명의 특징 및 기술적 장점을 다소 광범위하게 기술하였다. 이하, 본 발명의 특허청구의 범위의 요지를 형성하는 본 발명의 추가의 특징 및 장점이 기술될 것이다.
본 발명의 신규한 특징을 명확히 지적하기 위해, 이하 본 기술 분야에 통상의 지식을 가진 자에게 명백한 정보 프로세싱 시스템의 종래 특징을 생략하거나, 간단하게만 기술하기로 한다. 본 기술 분야에 통상의 지식을 가진 자는 멀티유저(multiuser), 멀티프로세서 오퍼레이팅 시스템을 잘 알고 있으며, 특히 가상 메모리, 프로세서 스케쥴링(processor scheduling), 프로세서 및 프로세서 둘다에 대한 동기화 장비, 메시지 전달(message passing), 보통의 장치 구동기, 단말 및 네트워크 지원, 시스템 초기화, 인터럽트 관리(interrupt management), 시스템 호출 장비, 및 관리용 장비를 포함하는 메모리 관리에 대한 이러한 오퍼레이팅 시스템의 필요장치를 잘 알고 있다고 간주하기로 한다.
제1도는 복수의 공유 로컬 버스를 도시한 시스템 블록도.
제2도는는 시스템내의 로컬 버스를 도시한 블록도.
제3도는 흐름 제어 상태 응답 간격 및 일관성 정보 응답 간격을 사용하는 동작을 일반적으로 도시한 도면.
제4도는 일관성 정보 응답 간격을 연장하는 수단을 제공하는 재실행(ReRun)동작을 도시한 도면.
제5도는 일관성 정보 응답 간격을 연장하는 수단을 제공하는 RemStat 동작을 도시한 도면.
제6(a)도, 제6(b)도 및 제6(c)도는 연장된 일관성 정보 응답 간격을 사용하는 동작을 도시한 동작 흐름도.
* 도면의 주요부분에 대한 부호의 설명
108 : 시스템 버스 110 : 시스템 메모리
130 : 노드 제어기 140 : 상호접속부
150 : 메모리 디렉토리
제1도을 참조하면, 본 발명을 바람직하게 구현하는 데이터 프로세싱 시스템이 도시되어 있다. 멀티프로세서 시스템(100)은 다수의 로컬 시스템 버스(108.1,108.2, 등)를 포함하고, 버스(108.1)와 같은 로컬 시스템 버스는 다수의 프로세싱 유닛(102.1, 104.1, 106.1, 등)를 가지며, 프로세서 노드 제어기(또는 “버스 어댑터(bus adaptor)”)(130.1)는 여기에 동작가능하게 접속된다. (시스템 버스(108.1,108.2, 등)와 같은 다수의 유사하며 번호가 매겨진 구성 요소가 본 명세서에서 언급되거나 도시되면, 이들 구성 요소는 예를 들어, “시스템 버스들(108)” 또는 “시스템 버스(108)”와 같이 번호 뒤에 붙은 접미사(suffix)가 없이, 집단적 또는 단일적으로 언급될 수 있다.) 프로세서 유닛(102, 104, 106, 등)는 프로세서 및 캐시저장 장치를 포함할 수 있으나, 본 명세서에서는 단순히 “프로세서”로 지칭될 수 있다. 노드 제어기(130)는 로컬 메모리가 존재할 경우 로컬 버스상의 시스템 메모리(110)에 대한 디렉토리를 포함한다. 시스템 버스(108)는 노드 제어기(130)를 통해 상호접속부(140)에 동작가능하게 접속되며, 이 상호접속부는 버스(108)를, NUMA 아키텍처내의 다른 버스(108)에 접속시키고 메모리 디렉토리 아키텍처내에 포함된 디렉토리를 갖는 메모리 구성 요소(150)에 접속시킨다.
제2도를 참조하면, 다수의 프로세싱 유닛(102, 104, 106, 등) 내지 프로세싱 유닛(n)에 동작가능하게 접속된 로컬 시스템 버스(108)가 도시되어 있다. 시스템 버스(108)에는 시스템 메모리(110)가 또한 접속되어 있다. 이 예시용 실시예에서, 시스템 버스(108)는 특히 5-비트 전송 유형)(“TT”) 버스(221), 64-비트 어드레스 버스(222), 128-비트 데이터 버스(224), 8-비트 데이터 태그(“DTag”) 버스(226), 6-비트 어드레스 응답(“AResp”) 버스(227), 및 1-비트 캐시 데이터(“DCache”) 버스(228)를 포함한다. 시스템 구성 요소(102-110)는 노드 제어기(130)의 제어하에 동작하며, 노드 제어기(130)는 포인트 대 포인트 라인(point to point lins)(도시되지 않음)에 의해 시스템 버스(108)에 접속되는 구성 요소(102-110)와 통신한다. 노드 제어기(130)는 (132)를 통해 다른 버스 및 장치에 결합된다(제1도 참조). 따라서, 제1도을 참조하면, 버스(108.1)에 로컬하게 결합된 프로세서(102.1)는 노드 제어기(130.1)를 통해, 로컬 버스(108.1)에 접속되지 않은 장치들, 예컨대 로컬 버스(108.2)에 결합된 프로세서(102.2), 로컬 버스(108.3)에 결합된 메모리(110.3) 및 상호접속부(140)에 결합된 메모리(150.1)와 통신할 수 있다.
버스(108)에 대한 엑세스의 요구 및 허가는 노드 제어기(130)에 의해 제어된다. 프로세서(102)와 같은 버스 장치중 하나는 포인트 대 포인트 접속(도시되지 않음)을 통해 노드 제어기(130)로부터 버스(108)상으로 소정의 동작을 인에이블해 줄 것을 요청할 수 있다. 제어기(130)로부터 버스 허가를 수신하는 즉시, 프로세서(102)는 버스(108)상으로 소정의 어드레스를 인에이블시킨다. 이 어드레스는 프로세서(102)를 요구 장치로서 식별하는 트랜잭션 태그(transaction tag)를 포함한다.
버스 접속수(bus attachments) 및 버스 주파수를 최대화하고, 또한 버스(108)가 CMOS 로직 장치에 접속될 수 있게 하기 위해, 버스 장치로부터의 여러 상태 및 일관성 응답은, 버스에 관여하는 버스들 각각으로부터 노드 제어기(130)와 같은 공통 수집 포인트로 단방향으로 구동되며, 이 공통 수집 포인트에서는 모든 응답을 조합한 후, 그 조합된 응답을 각각의 요구 버스 장치로 복귀시킨다. 노드 제어기(130)는 또한 원격 메모리(150) 또는 메모리(110) 즉, 요구 장치(102)의 버스(108)로부터 원격 배치된 메모리(150) 또는 메모리(110)에 대한 일관성 정보를 수집한다. 또한, 노드 제어기(130)의 조합 논리는 응답들에 우선순위를 부여하는데, 이는 장치가 상이한 응답을 전송할 가능성이 있기 때문이다. 이들 우선순위는 이하에 기술되는 표 1에 나타나 있다.
다음, 제3도을 참조하면, 어드레스 A는 프로세서(102)에 의해 버스(108)상으로 인에이블될 수 있다. 지정된 시간후, 상태 정보, 즉 흐름 제어 및 에러 상태는 (“Status A”로 도시된) 흐름 제어 상태 응답 윈도우 A(Flow Control Status Response Window A) 동안, 프로세서(102)로 복귀될 것이다. 프로세서(102)는, 일관성 정보를 위해 고정되나 구성가능한 추가의 시간 동안 대기할 수 있으며, 그 일관성 정보는, (“Snoop A”로 도시된) 어드레스 응답 윈도우 A(Address Response Window A) 동안, AResp 버스(227)상에서 노드 제어기(130)에 의해 시스템(100)내의 여러 다른 버스 장치로부터 프로세서(102)로 복귀될 수 있다. 다른 버스 장치에 의한 전형적인 스누핑 동작의 결과로서 제공되는 이러한 일관성 정보는, 어디에 요구된 데이터의 가장 최근의 버전이 위치하는지를 프로세서(102)에게 표시한다. 예를 들어, 프로세서(104)는, 요구된 데이터를 변경된 형태로 포함하고 있다고 판정하는 경우, 자신이 요구된 데이터의 가장 최근의 버전을 포함하고 있고 시스템 메모리(110)가 가장 최근의 버전을 포함하고 있지는 않다고 프로세서(102)에게 알려줄 것이다. 어드레스 및 요구 코드로부터 구성가능한 수 클럭 사이클 만큼 후에 어드레스 응답 윈도우를 배치하면, 시스템(100)내의 여러 버스 장치들 각각내에서 캐시 디렉토리 참조를 실행하도록 하는 상이한 보다 긴 액세스 시간이 가능하게 된다.
표 1은 바람직한 실시예에서 인코드된 예시적인 일관성 메시지를 나타낸다.
표 1은 복귀된 일관성 메시지들에 우선 순위가 부여되어 있음을 유의하자. 이러한 우선 순위 부여는, 복귀된 메시지를 처음 수신하는 시스템 제어기(130)가 여러 버스 장치로부터의 수신된 메시지들 중 어떤 메시지를 프로세서(102)에 전송할지를 결정하는데 사용될 수 있다. 예를 들면, 버스 장치(104)가 우선순위 2(표 1 참조)를 갖는 “변경(Modified)” 메시지를 복귀시키며, 버스 장치(106)가 우선순위 3을 갖는 “재실행(ReRun)” 메시지를 복귀시킬 경우, 제어기(130)는 “변경” 메시지 일관성 응답을 전송하도록 구현될 수 있다.
표 1에 도시된 응답들중 세 개에서는 연장되지 않은(non-extended) 어드레스 응답 윈도우 동안, 즉각적인 일관성 해결(resolution)을 제공한다. 변경 응답은, 변경된 캐시 라인이 다른 로컬 프로세서 유닛들(104, 106, 등)중 한 프로세서 유닛내의 캐시에 존재함을 요구 장치, 예를 들어 프로세서 유닛(102)에 표시하는데 사용된다. 공유 응답은 데이터가 하나 이상의 이러한 로컬 캐시내에 존재하나 변경 되어 있지 않음을 표시한다. 널(Null) 응답은 데이터가 로컬 캐시에 있지도 않고 원격 캐시에 있지도 않으나, 로컬 메모리에 있음을 가리킨다.
표 1에 도시된 응답들 중 세 개에서는, 어드레스 응답 윈도우가 연장된다. 재시도(Retry) 응답은 일관성 충돌(collision)을 표시하여, 그 동작이 요구 장치에 의해 나중에 재전송되어야 함을 표시하는데 사용된다. 재실행 응답 및 RemStst 응답은 로컬 버스를 떠날 때 사용된다.
제4도 및 제5도는 시간 간격(T1, T2, 등) 동안 시스템 버스(108)내에 포함된 버스들상에 단정된(asserted) 여러 신호를 나타낸다. 제4도 및 제5도에서, 표시된 시간 간격은 반드시 지속시간(duration) 또는 간격 사이의 시간에 관해 실제의 축적대로 도시된 것은 아니다.
제4도는 재실행 응답에 의해 셋업(set up)된 바와 같은 연장된 어드레스 응답 윈도우의 구현을 도시한다. 시간(T1)에서, 프로세서, 예를 들어 프로세서(102)는, 판독 신호를 TT 버스(221)상에 단정하고 어드레스 버스(222)상에 어드레스 및 태그를 단정함에 의해, 일관성 정보를 요구하는 판독 동작을 송출한다. 판독 요구에 후속하는 소정의 구성된 시간인 어드레스 응답 윈도우(시간 간격 T2)동안, 노드 제어기(130)는 AResp 버스(227)상에 재실행 신호를 단정한다. 재실행 응답 노드 제어기(130)가 나중에 재실행 요구를 개시할 것임을 표시하는데, 이는 실질적으로 요구 장치(102)가 그때까지의 일관성 정보를 얻기 위한 추가의 동작을 개시하는 것을 덜 수 있다. 일관성 정보가 비로컬 소스로부터 획득되면, 제어기(130)는 요구장치(102)에 의해 초기에 확립된 트랜잭션 태그를 DTag 버스(226)상에 단정하고 재실행 요구를 TT 버스(221)상에 단정함에 의해, 시간(T3)에서 재실행 요구를 요구장치(102)에 표시한다. 이에 응답하여, 프로세서(102)는 시간(T4)에서 판독 동작을 재전송하고, 이 시간에 또한 소저의 비트(“R 비트”)를 어드레스 버스(222)상에 단정하며, 제어기(130)는 구성된 어드레스 응답 윈도우 동안(시간 간격(T5) AResp 버스(227)상에 일관성 정보를 단정한다. 요구된 데이터가 획득되면, 트랜잭션 태그는 DTag 버스(226)상에 단정되며, 이 데이터는 판독 간격(시간 간격(T6))동안 데이터 버스(224)상에 단정된다.
제5도는 RemStat 응답의 신호송출에 의해 셋업된 바와 같은 연장된 어드레스 응답 윈도우의 구현을 도시한다. 시간(T1)에서, 프로세서, 예을 들어 프로세서(102)는, 판독 신호를 TT 버스(221)상에 단정하고 어드레스 버스(222)상에 어드레스 및 태그를 단정함에 의해, 일관성 정보를 요구하는 판독 동작을 송출한다. 판독 요구에 후속하는 소정의 구성된 시간인 어드레스 응답 윈도우(시간 간격 T2)동안, 노드 제어기(130)는 AResp 버스(227)상에 RemStat 신호를 단정한다. RemStat 응답은, 시스템 제어기가 나중에 요구된 데이터를 그 데이터에 대한 일관성 정보와 함께 요구 프로세서(102)로 복귀시킬 것임을 표시하는데, 이는 요구 장치(102)가 실질적으로 일관성 정보를 얻기 위한 추가의 동작을 개시하는 것을 덜 수 있고, 또한 실질적으로 대기시간을 감소시킨다.
본 발명에 선행하는 출원 번호가 08/317,256(HQ9-94-034)이며 발명의 명칭이 “SYSTEM AND METHOD FOR DETERMINING SOURCE OF DATA IN A SYSTEM WITH INTERVENING CACHES”인 관련 미국 특허 출원에 개시된 바와 같이, DCache 버스는, 데이터 전송이 시스템 메모리부터라기 보다는 사이에 놓인 캐시 장치로부터이고 그 상황에서 그 캐시 장치에 의해 구동됨을 DCache 신호에 의해 표시하는데 사용된다. 비로컬 버스 판독 동작동안에는 이러한 캐시 개재(介在)(intervention)에 대해 DCache 신호가 단정되는 것은 아니기 때문에, 본 발명에 따라 일관성 정보를 전송하는데 DCache 신호를 이용할 수 있다.
프로세서(1020는, 소정의 데이터를 판독하는 요구와 같은 계류중인(pending)요구를 보유할 때, 각 클럭 사이클에서 DTag 버스를 모니터한다. 노드 제어기(130)가 요구된 데이터 및 그 데이터에 대한 일관성 정보를 획득하면, 노드 제어기(130)는 요구 장치를 식별하는 트랜잭션 태그 신호를 DTag 버스(224)상에 단정하고, 데이터 신호를 데이터 버스(224)상에 단정하며, 일관성 정보 신호를 DCache 버스(228)상에 단정한다. 바람직한 실시예에서, 태그, 데이터 및 일관성 정보는 모두(시간 간격 T3으로 도시된 바와 같은) 동일한 클럭 사이클 동안 단정된다. 트랜잭션 태그가 송출될 때의 그 사이클 동안(즉, 간격 T3 동안), DTag 버스상의 태그를 검출하는 것에 응답하여, 프로세서(102)는 데이터 버스(224)상의 데이터 신호 및 DCache 버스(228)상의 일관성 신호의 양자를 판독하는데, 이 때 프로세서(102)는 노드 제어기(130)로부터의 재실행 요구를 기다린 후, 요구된 정보를 판독하기 위해 추가의 요구를 개시하고 어드레스 응답 윈도우 동안 대기할 필요는 없다.
제6(a)도 및 제6(b)도를 참조하면, 정보 프로세싱 시스템(100)에 의해 수행되는 동작의 동작 흐름도가 도시되어 있다. 특히, 제6(a)도 및 제6(b)도의 동작 흐름도는 바람직한 실시예의 프로세서는 노드 제어기(130)의 같은 버스 장치에 의해 수행되는 동작을 도시한다. 제6(a)도 및 제6(b)도에 도시된 동작은 표시된 순서로 수행될 필요는 없다. 제6(a)도에 도시된 바와 같이, 실행은 블록(400)에서 시작되며, 블록(402)로 진행하여 그 블록(402)에서 제어기(130)는, 버스 동작이 로컬 버스(108)를 넘어 이루어지는 것임을 분석한다. 예를 들면, 버스(108.1)는 프로세서(102.1)에 대해 로컬이어서, 버스(108.2)상의 메모리(110.2) 또는 메모리(150)로부터 제공되는 데이터에 대한 프로세서(102.1)에 의해 판독 동작은 로컬 버스(108.1)를 넘어 이루어지는 버스 동작일 것이다.
그후, 실행은 판정 블록(404)로 진행하여, 그 블록(404)에서 제어기(130) 논리는 이러한 버스 동작에 대해 일관성 응답이 요구되지 않을 경우 블록(406)으로 분기하고(이 경우에는 본 발명의 목적에 대한 분석은 블록(408)에 의해 표시되는 바와 같이 종료된다), 한편 일관성 응답이 요구될 경우 블록(410)으로 분기한다.
블록(410)의 판정에 따라, 제어기(130) 논리는 판독 동작을 위한 블록(412)으로 분기하거나, 다른 동작을 위한 블럭(418)으로 분기한다. 판독 동작의 경우, 제어기(130)는 통상의 어드레스 응답 윈도우 동안 RemStat 응답을 요구자(requestor)에게 복귀시킨다(블럭 412).
비판독 동작의 경우, 제어기(130)는 통상의 어드레스 응답 윈도우 동안 재실행 응답을 복귀시킨다(블럭 414). 그 후, 제어기(130)는 동작에 대해 요구자에 의해 생성되었던 태그를 보존하고(블럭 416), 동작의 그 단계에 대한 분석을 종료하며(블럭 418), 동작을 비로컬 버스 또는 메모리로 전송한다.
제6(b)도에 도시된 바와 같이, 제어기(130)가 원격 동작이 종료됐다(블럭 430)는 표시를 수신하면, 제어기(130)의 논리는 블록(432)에서 그 동작이 판독 동작이었는 지를 판정하며(블럭 432), 이에 따라 분기한다. 동작이 판독 동작이었을 경우(블럭 434), 제어기(130)는 데이터를 원래의 태그와 함께 복귀시킨다. 제어기가 데이터 및 DTag 신호를 단정할 동안, 제어기는 또한, 데이터의 일관성 상태가 공유(Shared) 일 경우, 소정의 신호를 DCache 버스상에 단정한다. 널(null) 일관성 상태를 표시하는 경우, DCahe 버스상에는 아무런 신호가 단정되지 않는다. 이 실시예와 관련하여 이는 원격 판독 동작의 복귀의 경우, 제어기(130)에 의해 응답을 종료한다(블럭 436). 제어기(130)는, 판독 동작이 아니었던 원격 동작의 복귀의 경우, 재실행 요구를 송출하며, DTag 신호를 단정한다(블럭 438). 그 후, 요구자가 어드레스 버스의 R 비트를 단정하여 이것이 재실행되었던 복귀 동작임을 표시하면서 비판독 동작을 재송출하는 때에, 제어기(130)는 통상의 어드레스 응답 윈도우 동안 일관성 응답을 복귀시킨다(블럭 440). 그 후, 동작이 Read With Intent To Modify(변경 목적의 판독)일 경우 (블럭 442), 제어기(130)는 그 데이터에 대한 데이터 신호를 데이터 버스(224)상에 단정하고, 태그를 DTag 버스(226)상에 단정하는데 (블럭 444), 이에 의해 본 발명의 실시예의 견지에서 동작이 종료된다.
제6(c)도를 참조하면, 정보 프로세싱 시스템(100)에 의해 수행되는 추가의 동작의 흐름도가 도시되어 있다. 특히, 제6(c)도의 동작 흐름도는 바람직한 실시예의 프로세서(102)와 같은 마스터(master) 버스 장치에 의해 수행되는 동작을 도시하고 있다. 제6(c)도에 도시된 동작은 표시된 순서에 따라 수행될 필요는 없다.
블록(460)에서 표시된 바와 같이, 마스터(102)는 판독 동작을 송출하며, 일관성 응답을 수신한다. 그 후, 마스터(102)는 수신된 일관성 응답의 유형을 판정한다. 응답이 요구된 데이터가 “공유” 상태를 가지고 있음을 표시할 경우(블럭 462), 이는 데이터가 로컬 버스(108)상의 메모리(110)내에 있고, 또한 버스(108)상의 다른 프로세서(104, 106, 등)의 캐시에도 있으나 그 캐시내에서 변경되어 있지 않음을 의미한다. 따라서, 마스터(102)는 마스터(102)용 태크가 부착된 데이터를 기다린 후 그 데이터를 캐시내에 “공유”로서 표시한다(블럭 464). 이와 같은 경우, 현재의 논의에 관하여서는, 여기서 마스터의 처리가 종료한다(블럭 466).
응답이 상태가 “변경”임을 표시할 경우(블럭 468), 이는 데이터가 로컬 버스(108)상의 메모리(110)내에 있고, 또한 버스(108)상의 다른 프로세서(104, 106, 등)의 캐시내에도 있고 캐시내에서 변경되었음을 의미한다. 따라서, 마스터(102)는 태그 부착된 데이터(tagged data)를 기다린다(블럭 470). 이와 같은 경우, 판독 요구에 대한 응답은 캐시 및 다른 메모리(110)의 양쪽으로부터 오기 때문에, 최초로 수신되는 데이터는 메모리(110)와 캐시 사이의 경쟁에 따라 결정된다. 따라서, 올바른 데이터가 사용됨을 보장하기 위해, 마스터(102)는 DCache 신호의 단정에 수반하여 복귀되는 태그 부착된 데이터의 캐시 버전을 기다린다. 그 후, 마스터(102)는 데이터를 캐시내에 “공유”로서 표시하는데(블럭 470), 그 논의의 목적에 관하여 종료한다(블럭 466).
응답이 상태가 “null”임을 표시할 경우(블럭 472), 이는 데이터가 로컬 버스(108)상의 메모리(110)내에만 존재함을 의미한다. 따라서, 마스터(102)는 태그 부착된 데이터를 기다린 후, 그 데이터를 캐시내에 “배타”로서 표시하는데(블럭 474), 그 논의의 목적에 관하여 종료한다(블럭 466).
응답이 상태가 “RemStat”임을 표시할 경우(블럭 476), 이는 데이터가 메모리(110)내에도 로컬 버스(108)상의 캐시내에도 있지 않음을 의미한다. 이와 같은 경우에, 요구자(102)는 프로세서 노드 제어기(130)를 통해 응답을 수신할 뿐이므로, 로컬 메모리(110) 및 로컬 캐시 사이의 경쟁은 없을 것이다. 따라서, “변경”일관성 상태를 복구시킬 필요가 없게 되어, 일관성 응답으로서는 “배타” 상태 또는 “공유” 상태만이 남게 되고, 그 결과 일관성 응답은 단일 라인상의 디지털 로직 신호로서 단정될 수 있게 된다. 따라서, 마스터(102)는 태그 부착 데이터를 기다리고, 만일 그 태그 부착 데이터가 DCache 신호의 단정에 수반하여 복귀될 경우, 마스터(102)는 데이터를 캐시내에 “공유”로서 표시하고, 그러나 그 반대의 경우에는, 데이터를 “배타”로서 표시하는데(블럭 478), 그 목적에 관해서는 종료한다(블럭 466).
마스터(102)가 응답이 “RemStat” 상태를 표시하고 있지 않다고 판정할 경우, 마스터(102)는 상태가 “재실행” 인지를 판정한다(블럭 480). 그럴 경우, 마스터(102)는 R 비트 및 태그를 세트시키고, 판독 동작을 재송출한다(블럭 482). 그렇지 않은 경우, 마스터(102)는 R 비트를 세팅시키지 않고 판독 동작을 재송출한다(블럭 484).
본 발명 및 본 발명의 장점이 상세히 기술되었지만, 첨부된 특허청구범위에 의해 정의된 바와 같은 본 발명의 정신 및 범주를 벗어남이 없이 여러 변형, 대체 및 변경이 본 명세서에 대해 행해질 수 있음을 주지해야 한다.
본 발명은 통상 NUMA 또는 메모리 디렉토리 기반 시스템내에서 발생되는 바와 같이, 판독 데이터가 로컬이 아닌 버스로부터 요구 프로세서로 제공될 때, 일관성 보고의 실행을 향상시키며, 하드웨어 신호를 이전에 정의된 프로토콜에 부가함이 없이 이러한 판독 동작의 실행을 향상시키는 효과를 제공한다.

Claims (22)

  1. 한 세트의 버스(a set of buses)를 통해 적어도 하나의 저장 장치(at least one storage device)에 결합된 복수의 버스 장치를 포함하는 정보 프로세싱 시스템(an information processing system)에서, 제 1 장치에 의해, 데이터 및 일관성(coherency) 정보에 대한 요구를 버스상에 송출하는 단계, 지정된 일관성 응답 간격 동안 상기 요구된 일관성 정보에 대해 모니터링하는 단계, 제 2 간격 동안 상기 일관성 정보가 복귀될 것임을 표시하는 제 1 신호를 상기 지정된 일관성 응답 간격동안 제 2 장치에 의해 전송하는 단계, 상기 제 2 간격 동안 상기 일관성 정보를 상기 제 1 장치에 제공하기 위해 제 2 신호를 전송하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 제 2 신호의 전송 단계는 제 1 신호의 전송단계 보다 버스 라인을 보다 적게 사용하는 방법.
  3. 제2항에 있어서, 상기 제 2 간격은 태그(a tag) 및 상기 요구된 데이터를 단정함에 의해 적어도 부분적으로 식별되는 방법.
  4. 제3항에 있어서, 상기 제 2 신호는 단일 라인상으로만 전송하는 방법.
  5. 제 4항에 있어서, 상기 제 1 신호는 제 1 버스상에 존재하며 상기 제 2 신호는 제 2 버스상에 존재하는 방법.
  6. 제 1 항에 있어서, 상기 제 2 장치에 의해 적어도 하나의 가능한 일관성 응답을 제거하는 단계를 더 포함하는 방법.
  7. 제 6 항에 있어서, 변경 일관성 응답(a modified coherency response)은 제거되는 방법.
  8. 제 6 항에 있어서, 재시도 일관성 응답(a retry coherency response)은 제거되는 방법.
  9. 제 6 항에 있어서, 재실행 일관성 응답(a rerun coherency response)은 제거되는 방법.
  10. 제 1 항에 있어서, 상기 제 2 장치에 의해 가능한 일관성 응답을 2 개의 나머지 일관성 응답으로 감소시키는 단계를 더 포함하되, 상기 제 2 신호의 전송 단계는 상기 2개의 나머지 일관성 응답중 하나를 정송하는 단계를 더 포함하는 방법.
  11. 한 세트의 버스를 통해 적어도 하나의 저장 장치에 결합된 복수의 버스 장치를 포함하는 정보 프로세싱 시스템에서, 한 세트의 버스에 결합된 제 1 장치에 의해, 상기 제 1 장치에 의해 확립된 태그를 포함하는 버스 동작을, 상기 한 세트의 버스에 직접 결합되어 있지 않은 적어도 하나의 장치로 향해 송출하는 단계, 상기 버스 동작을 상기 제 2 장치에 의해 체킹하는 단계, 상기 적어도 하나의 장치내에 상주하는 데이터로 향하는 판독 요구를 응답하여, 상기 제 2 장치에 의해, 제 1 일관성 응답을 지정된 응답 간격 동안 상기 한 세트의 버스 중 하나의 버스 상에 송출하는 단계, 상기 판독 요구를 상기 적어도 하나의 장치에 전송하는 단계, 상기 적어도 하나의 장치로부터 상기 요구된 데이터를 수신하는 단계, 상기 태그, 상기 요구된 데이터 및 제 2 일관성 응답을 상기 한 세트의 버스 중 하나의 버스상에 단정하는 단계, 제 2 간격 동안 상기 제 1 장치에 의해 상기 요구된 데이터 및 일관성 정보를 판독하는 단계를 포함하는 방법.
  12. 제 11항에 있어서, 상기 제 1 일관성 응답을 송출하는 상기 단계는, 상기 한 세트의 버스의 소정 수의 라인 상에 상기 제 1 일관성 응답을 송출하는 단계를 포함하고, 상기 제 2 일관성 응답을 단정하는 상기 단계는, 상기 한 세트의 버스의 보다 적은 수의 라인상에 상기 제 2 일관성 응답을 단정하는 단계를 포함하는 방법.
  13. 제12항에 있어서, 상기 요구된 데이터 및 일관성 정보가 상기 적어도 하나의 장치로부터 수신된 후 상기 태그 및 요구된 데이터를 단정하는 상기 제 2 장치에 의해 적어도 부분적으로 상기 제 2 간격을 개시하는 단계를 더 포함하는 방법.
  14. 정보 프로세싱 시스템에 있어서, 하나 이상의 프로세서를 포함하는 복수의 버스 장치, 적어도 하나의 저장 장치, 상기 복수의 버스 장치와 상기 저장 장치를 결합시키는 버스, 제 1 장치에 의해 데이터 및 일관성 정보에 대한 요구를 상기 버스상에 송출하는 수단, 상기 제 1 장치에 의해, 지정된 일관성 응답 간격 동안 일관성 정보에 대해 모니터링하는 수단, 상기 일관성 정보가 제 2 간격 동안 복귀될 것임을 표시하는 제 1 일관성 응답을 상기 지정된 일관성 응답 간격 동안 제 2 장치에 의해 전송하는 수단, 상기 제 2 간격 동안 상기 일관성 정보를 상기 제 1 장치에 제공하기 위해 제2 일관성 응답을 전송하는 수단을 포함하는 정보 프로세싱 시스템.
  15. 제14항에 있어서, 상기 제1 일관성 응답을 전송하는 상기 수단은, 상기 버스의 소정 수의 라인상에 상기 제1 일관성 응답을 전송하는 수단을 포함하고, 상기 제2일관성 응답을 전송하는 상기 수단은, 상기 제1일관성 응답보다 더 적은 수의 상기 버스의 라인상에 상기 제2일관성 응답을 전송하는 수단을 포함하는 정보 프로세싱 시스템.
  16. 제15항에 있어서, 상기 제2간격은 상기 요구된 데이터 및 상기 요구와 관련된 태그를 단정함에 의해, 적어도 부분적으로 식별되는 정보 프로세싱 시스템.
  17. 제16항에 있어서, 상기 제2일관성 응답은 단일 라인상으로만 통신되는 정보 프로세싱 시스템.
  18. 제14항에 있어서, 가능한 일관성 응답을 감소시키는 수단을 더 포함하는 정보 프로세싱 시스템.
  19. 제 18 항에 있어서, 상기 응답을 감소시키는 수단은 변경 일관성 응답을 제거하는 정보 프로세싱 시스템.
  20. 제 18 항에 있어서, 상기 응답을 감소시키는 수단은 재시도 일관성 응답을 제거하는 정보 프로세싱 시스템.
  21. 제 18 항에 있어서, 상기 응답을 감소시키는 수단은 재실행 일관성 응답을 제거하는 정보 프로세싱 시스템.
  22. 제 14 항에 있어서, 상기 가능한 일관성 응답을 감소시키는 상기 수단은, 상기 제 2 장치에 의해 상기 응답을 2개의 나머지 일관성 응답으로 감소시키는 수단을 포함하고, 상기 제 2 일관성 응답을 전송하는 상기 수단은 상기 나머지 일관성 응답중 하나를 전송하는 정보 프로세싱 시스템.
KR1019960045652A 1995-12-15 1996-10-14 정보 프로세싱 시스템 및 그 구현 방법 KR100241644B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/573,092 US5673413A (en) 1995-12-15 1995-12-15 Method and apparatus for coherency reporting in a multiprocessing system
US08/573,092 1995-12-15

Publications (2)

Publication Number Publication Date
KR970049647A KR970049647A (ko) 1997-07-29
KR100241644B1 true KR100241644B1 (ko) 2000-02-01

Family

ID=24290613

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019960045652A KR100241644B1 (ko) 1995-12-15 1996-10-14 정보 프로세싱 시스템 및 그 구현 방법

Country Status (7)

Country Link
US (1) US5673413A (ko)
EP (1) EP0779583B1 (ko)
JP (2) JP3529566B2 (ko)
KR (1) KR100241644B1 (ko)
CN (1) CN1099644C (ko)
DE (1) DE69628127T2 (ko)
TW (1) TW401542B (ko)

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5860120A (en) * 1996-12-09 1999-01-12 Intel Corporation Directory-based coherency system using two bits to maintain coherency on a dual ported memory system
US5996049A (en) * 1997-04-14 1999-11-30 International Business Machines Corporation Cache-coherency protocol with recently read state for data and instructions
US6055608A (en) * 1997-04-14 2000-04-25 International Business Machines Corporation Method and system for speculatively sourcing cache memory data within a multiprocessor data-processing system
US6026448A (en) * 1997-08-27 2000-02-15 International Business Machines Corporation Method and means for exchanging messages, responses and data between different computer systems that require a plurality of communication paths between them
US6067611A (en) * 1998-06-30 2000-05-23 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that buffers potential third node transactions to decrease communication latency
WO2000007103A1 (de) * 1998-07-30 2000-02-10 Siemens Aktiengesellschaft Bus-steuereinheit zur unterstützung einer programmablauf-überwachung in sternstrukturen, dazugehöriges programmablauf-überwachungssystem sowie verfahren zur programmablauf-überwachung
US6085293A (en) * 1998-08-17 2000-07-04 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that decreases latency by expediting rerun requests
US6145032A (en) * 1998-09-21 2000-11-07 International Business Machines Corporation System for recirculation of communication transactions in data processing in the event of communication stall
US6546429B1 (en) * 1998-09-21 2003-04-08 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that holds and reissues requests at a target processing node in response to a retry
US6081874A (en) * 1998-09-29 2000-06-27 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect
US6067603A (en) * 1998-10-01 2000-05-23 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that speculatively issues requests on a node interconnect
US6108764A (en) * 1998-12-17 2000-08-22 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system with multiple caches concurrently holding data in a recent state from which data can be sourced by shared intervention
US6490661B1 (en) 1998-12-21 2002-12-03 Advanced Micro Devices, Inc. Maintaining cache coherency during a memory read operation in a multiprocessing computer system
US6631401B1 (en) 1998-12-21 2003-10-07 Advanced Micro Devices, Inc. Flexible probe/probe response routing for maintaining coherency
US6370621B1 (en) 1998-12-21 2002-04-09 Advanced Micro Devices, Inc. Memory cancel response optionally cancelling memory controller's providing of data in response to a read operation
US6275905B1 (en) * 1998-12-21 2001-08-14 Advanced Micro Devices, Inc. Messaging scheme to maintain cache coherency and conserve system memory bandwidth during a memory read operation in a multiprocessing computer system
US6115804A (en) * 1999-02-10 2000-09-05 International Business Machines Corporation Non-uniform memory access (NUMA) data processing system that permits multiple caches to concurrently hold data in a recent state from which data can be sourced by shared intervention
US6269428B1 (en) * 1999-02-26 2001-07-31 International Business Machines Corporation Method and system for avoiding livelocks due to colliding invalidating transactions within a non-uniform memory access system
US6467012B1 (en) * 1999-07-08 2002-10-15 International Business Machines Corporation Method and apparatus using a distributed system structure to support bus-based cache-coherence protocols for symmetric multiprocessors
US6442597B1 (en) * 1999-07-08 2002-08-27 International Business Machines Corporation Providing global coherence in SMP systems using response combination block coupled to address switch connecting node controllers to memory
US6779036B1 (en) * 1999-07-08 2004-08-17 International Business Machines Corporation Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system
US6480973B1 (en) * 1999-09-30 2002-11-12 Bull Information Systems Inc. Gate close failure notification for fair gating in a nonuniform memory architecture data processing system
US6654837B1 (en) * 1999-12-28 2003-11-25 Intel Corporation Dynamic priority external transaction system
US6757793B1 (en) 2000-03-29 2004-06-29 Advanced Micro Devices, Inc. Reducing probe traffic in multiprocessor systems using a victim record table
FR2832859B1 (fr) * 2001-11-28 2004-01-09 Commissariat Energie Atomique Generateur electrochimique au lithium comprenant au moins une electrode bipolaire avec substrats conducteurs en aluminium ou alliage d'aluminium
US8055492B2 (en) * 2002-01-10 2011-11-08 International Business Machines Corporation Non-unique results in design verification by test programs
US7085898B2 (en) * 2003-05-12 2006-08-01 International Business Machines Corporation Coherency management for a “switchless” distributed shared memory computer system
US6988173B2 (en) * 2003-05-12 2006-01-17 International Business Machines Corporation Bus protocol for a switchless distributed shared memory computer system
JP2005057738A (ja) * 2003-07-18 2005-03-03 Canon Inc 信号処理装置、信号処理方法及びプログラム
JP4507563B2 (ja) * 2003-11-10 2010-07-21 株式会社日立製作所 マルチプロセッサシステム
US20070079074A1 (en) * 2005-09-30 2007-04-05 Collier Josh D Tracking cache coherency in an extended multiple processor environment
JP4335298B2 (ja) 2006-02-24 2009-09-30 富士通株式会社 スヌープ制御方法および情報処理装置
JP4609521B2 (ja) 2008-04-21 2011-01-12 ソニー株式会社 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
CN103795770B (zh) * 2012-10-26 2017-07-04 伊姆西公司 在网络基础设施中提供高速缓存服务的方法和装置
CN103631534B (zh) * 2013-11-12 2017-01-11 北京兆芯电子科技有限公司 数据存储系统以及其管理方法
US10747298B2 (en) 2017-11-29 2020-08-18 Advanced Micro Devices, Inc. Dynamic interrupt rate control in computing system
US10503648B2 (en) 2017-12-12 2019-12-10 Advanced Micro Devices, Inc. Cache to cache data transfer acceleration techniques
US11210246B2 (en) 2018-08-24 2021-12-28 Advanced Micro Devices, Inc. Probe interrupt delivery

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5297269A (en) * 1990-04-26 1994-03-22 Digital Equipment Company Cache coherency protocol for multi processor computer system
US5406504A (en) * 1993-06-30 1995-04-11 Digital Equipment Multiprocessor cache examiner and coherency checker
US5530933A (en) * 1994-02-24 1996-06-25 Hewlett-Packard Company Multiprocessor system for maintaining cache coherency by checking the coherency in the order of the transactions being issued on the bus
US5682516A (en) * 1994-03-01 1997-10-28 Intel Corporation Computer system that maintains system wide cache coherency during deferred communication transactions
JP3660679B2 (ja) * 1994-03-01 2005-06-15 インテル・コーポレーション 高度パイプライン式バス・アーキテクチャ
US5557769A (en) * 1994-06-17 1996-09-17 Advanced Micro Devices Mechanism and protocol for maintaining cache coherency within an integrated processor
US5548797A (en) * 1994-10-03 1996-08-20 International Business Machines Corporation Digital clock pulse positioning circuit for delaying a signal input by a fist time duration and a second time duration to provide a positioned clock signal

Also Published As

Publication number Publication date
JP2004005657A (ja) 2004-01-08
EP0779583A3 (en) 1999-03-24
CN1099644C (zh) 2003-01-22
EP0779583A2 (en) 1997-06-18
DE69628127D1 (de) 2003-06-18
JP3529566B2 (ja) 2004-05-24
JP3832833B2 (ja) 2006-10-11
CN1157440A (zh) 1997-08-20
US5673413A (en) 1997-09-30
KR970049647A (ko) 1997-07-29
JPH09204405A (ja) 1997-08-05
EP0779583B1 (en) 2003-05-14
TW401542B (en) 2000-08-11
DE69628127T2 (de) 2004-04-08

Similar Documents

Publication Publication Date Title
KR100241644B1 (ko) 정보 프로세싱 시스템 및 그 구현 방법
EP0681240B1 (en) Duplicate cache tag memory system
US5191649A (en) Multiprocessor computer system with data bus and ordered and out-of-order split data transactions
KR910001789B1 (ko) 디지탈 컴퓨터 시스템의 다중 프로세서 시스템용 캐쉬 무효 장치
TW472195B (en) Method and apparatus for achieving correct order among bus memory transactions in a physically distributed SMP system
EP0760135B1 (en) Method and apparatus for maintaining transaction ordering and supporting deferred replies in a bus bridge
CN1815463B (zh) 四重抽吸总线体系结构和协议
US20070079074A1 (en) Tracking cache coherency in an extended multiple processor environment
EP1412871B1 (en) Method and apparatus for transmitting packets within a symmetric multiprocessor system
US6397302B1 (en) Method and apparatus for developing multiprocessor cache control protocols by presenting a clean victim signal to an external system
JP2529663B2 (ja) デ―タ処理システムにおいて記憶デ―タを伝送する装置
KR100263633B1 (ko) 각종프로세서와버스프로토콜에적용가능한범용구조를제공하는컴퓨터시스템
US5659708A (en) Cache coherency in a multiprocessing system
US20090024688A1 (en) Accessing Memory And Processor Caches Of Nodes In Multi-Node Configurations
JPH07306810A (ja) 待ち行列ベースの予測型フロー制御機構
CN104854845B (zh) 使用高效的原子操作的方法和装置
JPH0473176B2 (ko)
AU1305199A (en) System and method for providing speculative arbitration for transferring data
US6996645B1 (en) Method and apparatus for spawning multiple requests from a single entry of a queue
US5822765A (en) System and method for resolving contention arising from execution of cache coherency operations in a multiple cache computer system
KR100378389B1 (ko) 글로벌 코히런스를 제공하는 데이터처리시스템
US5608878A (en) Dual latency status and coherency reporting for a multiprocessing system
CN112074821B (zh) 在数据处理网络中执行读取事务的方法、装置和介质
US20090177821A1 (en) Cache Intervention on a Separate Data Bus When On-Chip Bus Has Separate Read and Write Data Busses
US5594875A (en) Method and apparatus to provide pended transaction on a non-pended system bus

Legal Events

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

Payment date: 20051031

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee