KR980010805A - 범용 컴퓨터 구조용 프로세서 서브시스템 - Google Patents

범용 컴퓨터 구조용 프로세서 서브시스템 Download PDF

Info

Publication number
KR980010805A
KR980010805A KR1019970030736A KR19970030736A KR980010805A KR 980010805 A KR980010805 A KR 980010805A KR 1019970030736 A KR1019970030736 A KR 1019970030736A KR 19970030736 A KR19970030736 A KR 19970030736A KR 980010805 A KR980010805 A KR 980010805A
Authority
KR
South Korea
Prior art keywords
bus
processor
signal
request
signal processing
Prior art date
Application number
KR1019970030736A
Other languages
English (en)
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 KR980010805A publication Critical patent/KR980010805A/ko

Links

Classifications

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

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)
  • Bus Control (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

프로세서 서브 시스템은 프로세서, 및 호스트 컴퓨터 시스템의 슬롯에 삽입되도록 된 버스 브리지 변환장치를 포함하고 있다. 프로세서는 상기 컴퓨터 시스템 버스의 신호 처리 프로토콜과는 다른 신호 처리 프로토콜에 따라 동작한다. 상기 버스 변환 장치는 상기 시스템 버스의 신호 처리 프로토콜을 상기 프로세서의 신호 처리 프로토콜로, 그리고 그 역으로 변환한다. 상기 버스 변환 장치는 버스 중재 변환, 버스 로크 변환, 및 캐시 코히어런시 제어를 위한 논리 회로를 포함하고 있다. 또한, 카드가 상기 버스에 접속되어 있는 기타 다른 에이전트와 적절히 트랜잭션을 행할 수 있도록 입력 요구 및 출력 요구를 변환하는 논리 회로도 포함되어 있다.

Description

범용 컴퓨터 구조용 프로세서 서브 시스템
본 발명은 전반적으로 고성능 컴퓨터 시스템 분야에 관한 것으로, 특히 진보된 마이크로프로세서용 버스와 관련된 신호 처리 프로토콜(signaling protocols)과 동작 요건에 관한 것이다.
매우 진보된 마이크로프로세서와 해당 버스 구조의 개발은 급속히 진행되어 왔다. 예컨대, 이전 세대의 PentiumR프로세서에 대한 시장 수요가 아직도 확대되어가고 있는 때에 미국, 캘리포니아, 산타 클라라 소재의 인텔 코포레이션에서는 최근에 최신의 프로세서, 즉 Pentium ProTM를 소개하였다. 상기 Pentium ProTM 프로세서는 이전 세대의 PentiumR프로세서보다 매우 향상된 성능을 제공하고 있고, 그리고 새로운 고성능의 파이프라인 시스템 버스 구조를 소개하고 있다.
최신의 버스 구조를 기초로 시스템을 설계하고자 하는 컴퓨터 시스템 개발자들에게는 문제가 야기되는데, 이들은 여전히 이전 세대의 프로세서, 또는 다른 버스 구조를 가지고 있는 프로세서를 기초로 프로세서 설계를 행하기를 원한다. 예컨대, 많은 시스템 설계자들은 인텔의 새로운 Pentium ProTM 버스와 호환성이 있도록 최신의 특성을 이용하여 자신들의 컴퓨터 시스템을 설계하기를 원하지만,이들 설계자들은 PentiumR프로세서 구조와의 호환성에 대한 현재의 시장 요구를 여전히 충족시켜 주어야 한다. 이는 일반적으로 상기 시스템 프로세서가 동일한 핀아우트(pinout)를 가지고 있어야 하고, 그리고 상기 시스템 프로세서는 PentiumR프로세서용으로 설계된 버스 구조에 따라 동작해야 함을 의미한다.
불행히도, 상기 Pentium ProTM 프로세서의 버스 신호 처리 프로토콜은 상기 PentiumR프로세서의 버스 신호 처리 프로토콜과 크게 다르다. 결과적으로, 시스템 개발자들은 최신 버스 구조와 관련된 이점이 없더라도 메인스트림 프로세서 설계와 호환성을 유지할 것인지, 아니면 PentiumR프로세서 기초 시스템의 보다 넓은 소비자로 인한 시장 흡수력의 감소를 부담하면서 상기 Pentium ProTM 프로세서의 진보된 버스 구조의 신호 처리 프로토콜에 따라 시스템을 설계할 것인지를 싫더라도 선택해야 하는 문제를 남겨두었다. 그러므로, 각각 다른 버스 구조를 잠재적으로 이용하고 있는 다양한 종류의 프로세서용으로 채택되어 있는 컴퓨터 시스템 구조가 필요하다.
제1도는 PentiumR프로세서의 핀아우트를 나타낸 도면.
제2도는 본 발명의 일실시예의 하이 레벨 블록도.
제3도는 고성능 버스를 통해 접속되어 있는 복수의 에이전트를 포함하고 있는 컴퓨터 시스템에서 본 발명의 일실시예를 보인 도면.
제4도는 도2에 도시된 버스 변환 장치의 일실시예의 개념적인 블록도.
제5도는 도4에 도시된 중재 변환기 회로의 일실시예를 나타낸 도면.
제6도는 도4에 도시된 출력 요구 변환기 회로의 일실시예의 블록도.
제7도는 도4에 예시된 버스 로크 변환기의 일실시예를 보인 도면.
제8도는 도4의 입력 요구 변환기의 일실시예를 보인 도면.
제9도는 도4에 도시된 캐시 코히어런시 제어 유닛의 일실시예의 블록도.
제10도는 본 발명의 일실시예에 사용된 버스 요구 프로토콜 변환 논리 유닛을 나타낸 도면.
본 발명은 규격화 시스템 버스를 지원하는 호스트 컴퓨터 시스템용의 프로세서와 버스 변환 장치를 포함하고 있는 프로세서 서브시스템을 포함하고 있다. 구격화 버스 인터페이스는 상기 시스템 버스측에 접속을 제공해 주고 그리고 상기 프로세서 서브시스템과 상기 호스트 컴퓨터간의 통신을 가능하게 해 준다. 상기 호스트 컴퓨터는 호스트 프로세서, 메인 메모리, 주변 장치 등과 같은 구성 요소를 포함하고 있을 수 있다. 상기 서브시스템내의 프로세서는 상기 호스트 컴퓨터의 상기 규격화 버스 인터페이스와는 상이한 특정 버스 인터페이스에 따라 동작한다. 상기 버스 변환 장치는 상기 호스트 컴퓨터의 상기 규격화 버스 인터페이스와 상기 프로세서의 특정 버스 인터페이스간의 변환을 제공해 준다.
일실시예에서, 상기 프로세서 서브시스템은 상기 호스트 컴퓨터 시스템의 슬롯에 플러그 접속 또는 삽입될 수 있는 카드에 수용되어 있다. 상기 카드는 상기 시스템 버스의 신호 처리 프로토콜과는 다른 특정 신호 처리 프로토콜에 따라 동작하는 프로세서를 가지고 있는 프로세서 서버시스템을 포함하고 있다. 상기 버스 변환 장치는 상기 프로세서의 핀과 상기 카드의 규격화 버스 인터페이스에 접속되어 있고, 이 인터페이스는 상기 시스템 버스에 접속되어 있다. 상기 버스 변환 장치는 상기 시스템 버스의 신호 처리 프로토콜을 상기 프로세서 서브시스템의 신호 처리 프로토콜로, 그리고 그 역으로 변환한다.
상기 프로세서 서브시스템과 인터페이스를 행하는 상기 호스트 컴퓨터 시스템은 각종의 독립적인 에이전트를 지원할 수 있다. 이들 독립적인 에이전트는 부가적인 프로세서, 직접 메모리 액세서(DMA) 디바이스와 같은 각종 잘 알려진 디바이스, 또는 기타 다른 서브 시스템을 포함하고 있을 수 있다. 이들 에이전트는 다른 구현예에서 파이프라인 버스 구조를 통해 서로 통신한다. 상기 파이프라인 버스에 접속되어 있는 에이전트는 대칭 에이전트 또는 우선 순위 에이전트로 분류된다. 상기 대칭 에이전트는 순환형 우선 순위 알고리즘에 따라 분산 중재 기술을 지원한다.
상기 프로세서 서브시스템은 상기 파이프라인 버스상의 대칭 에이전트로 분류되고, 그리고 순환형 우선 순위 알고리즘에 따라 상기 프로세서 대신에 상기 버스의 소유권을 요구한다. 특정 구현예에서, 라운드 로빈(round-robin) 알고리즘이 이용될 수 있다. 대부분의 경우에, 우선 순위 에이전트는 상기 버스상으로 우선 순위 요구 신호를 전송함으로써 어떤 대칭 에이전트보다 상기 버스의 소유권을 바로 획득할 수 있다.
본 발명은 이하의 상세한 설명으로부터 그리고 첨부된 도면으로부터 보다 완전하게 이해될 수 있지만, 본 발명은 이하의 특정 실시예에 한정되는 것으로 간주되어서는 안되며, 이는 오히려 설명 및 이해를 돕기 위한 것이다.
프로세서의 신호처리 프로토콜을 고성능 시스템 버스의 신호처리 프로토콜로 변환하는 버스 변환 장치와 더불어 플러그 인 카드 또는 모듈에 수용되어 있는 프로세서를 포함하고 있는 범용 컴퓨터 구조용 프로세서 서브시스템에 대해 설명한다. 이하에서, 본 발명의 철저한 이해를 제공하기 위해, 에이전트 종류, 논리 블록, 신호 접속 등과 같은 수많은 특정 내용에 대해 설명한다. 데이타 처리 기술 분야에서 통상의 기술을 가진 자는 다수의 이들 특정 내용없이도 본 발명이 실시될 수 있음을 이해할 수 있다. 기타 다른 예에서, 잘 알려진 신호 타이밍, 구성 요소, 및 회로에 대해서는 본 발명의 불명료를 피하기 위해 설명하지 않는다.
컴퓨터 기술 분야에 숙련된 자는 또한 후술되는 설명이 관련 분야내에서 특정의 명확한 의미를 가지고 있는 각종 용어를 포함하고 있음을 알 수 있다. 예컨대, 용어 “규격화 버스 인터페이스”는 에전트와 버스간의 신호 전송이 상기 시스템 전체에 걸쳐서 적용된, 일반적으로 사용되는 신호 처리 프로토콜을 따르고 있음을 의미함을 당업자는 알고 있다. 또한 상기 규격화 버스 인터페이스는 각종 전문적 구성에 의해 행해진 종류의 공업 규격을 반드시 의미하는 것은 아니다. 오히려, 상기 인터페이스는 다수의 기준중 어느 한 기준을 기초로 선택될 수 있다. 예컨대, 본 발명의 일실시예가 공개되어 있는데, 이 실시예에서 상기 규격화 버스 인터페이스는 종래 프로세서 세대와 역방향 호환성을 제공해 주는 고성능 버스 구조를 기초로 하고 있다. 기타 다른 예에서, 비용을 줄이기 위해 또는 구성요소 복잡성이 감소된 보다 높은 크기 시장성을 지원하기 위해, 상기 규격화 버스 인터페이스는 비교적 간단한 버스 구조를 기초로 하고 있을 수 있다.
도1에는 인텔의 PentiumR마이크로프로세서의 신호 인터페이스가 예시되어 있다. 배경 설명으로서, 상기 PentiumR프로세서와 관련된 버스 신호 처리 프로토콜 외에, 도1에 도시된 신호의 동작과 기능에 대한 상세한 설명이 수많은 간행물에서 발견될 수 있다. 예컨대, 돈 앤더슨(Don Anderson)과 톰 샌리(Tom Shanley) 공저, 애디슨-웨슬리 출판사(1995)의 문헌 “펜티엄 프로세서 시스템 구조, 제2판”에는 그러한 설명이 포함되어 있다.
이하의 설명은 본 발명의 예시적 실시예의 PentiumR마이크로프로세서를 대상으로 하고 있지만, 상기 PentiumR마이크로프로세서와 핀 호환성을 유지하고 있는 다른 내부 구조를 이용하고 있는 기타 다른 마이크로프로세서가 현재 존재하고 있거나 장래에 존재할 수 있음은 물론이다. 이와 유사하게, 기타 다른 프로세서는 유사한 기능을 가지고 있는 신호를 제공하며, 그리고 상이한 핀아우트를 가지고 설계되어 있지만, 상기 PentiumR마이크로프로세서에 정의된 버스 구조와 호환성을 유지하고 있다
그러므로 본 출원의 PentiumR마이크로프로세서에 대한 참조는 이들 등가물이 포함될 수 있도록 행해져야 한다. 또 다른 방법을 위해, 본 발명은 PentiumR마이크로프로세서에 한정되어 있지 않으며, 오히려 본 발명은 각종 데이타 처리 디바이스 중 어떤 디바이스로도 실시될 수 있다. 또한, 본 발명은 상기 PentiumR프로세서 구조를 기초로 한 호스트 시스템에 대해 설명되어 있지만, 당업자는 상이한 구조를 가지고 있는 프로세서가 본 발명에 의해 제공된 이점을 이용할 수 있도록 쉽게 채택될 수 있음을 이해해야 한다.
이제 도2를 참조하면, 본 발명의 일실시예의 하이 레벨의 블록도가 도시되어 있다. 도2의 실시예에서, 복수의 집적회로 디바이스는 인쇄회로기판(PCB) 카드(또는 모듈)(200)에 장착 또는 수용되어 있다. 카드(200)는 라인(17)을 따라 하나 이상의 캐시 메모리(12)에 접속되어 있는 프로세서(11)를 포함하고 있다. 라인(18)을 통해 프로세서(11)와 접속되어 있는 버스 변환 장치(15)가 상기 카드(200)에 포함되어 있다. 또한, 버스 변환 장치(15)는 시스템 버스(101)에 접속되어 있다. 설명된 실시예에서, 시스템 버스(101)는 규격화인터페이스를 가지고 있는 고성능 파이프라인 버스를 구비하고 있다
데이타, 주소 및 제어라인 (19, 13, 16)은 각각 프로세서(11)로부터 (도시된) 시스템 버스(101)측으로 집적 접속될 수 있거나, 변환 장치(15)를 통해 접속될 수 잇다.
이하에서 상세히 설명되는 바와같이, 버스 변환 장치(15)는 프로세서(11)와 관련된 버스 신호 처리 프로토콜 및 전기적 특성을 시스템 버스(101)와 관련된 신호 프로토콜 및 전기적 특성으로, 그리고 그 역으로 변환하는 동작한다. 이 방법으로, 정보가 상기 프로세서와 시스템 버스(101)에 접속되어 있는 기타 다른 에이전트 사이에서 전송될 수 있다. (카드(200)에 포함된 기타 다른 디바이스에 접속되어 있는 프로세서(11)에 대한 기타 다른 입/출력 라인이 존재함을 나타내기 위해 신호 라인(14)이 도시되어 있음에 주의하자. 예컨대, 라인(14)은 클럭 입력 신호, 동작 전위 공급 라인, 부가적인 집적회로에 대한 접속 등을 포함하고 있을 수 있다.)
이제 도3을 참조하면, 고성능 버스(101)에 접속되어 있는 다수의 에이전트를 포함하고 있는 컴퓨터 시스템에서의 본 발명의 일실시예가 도시되어 있다. 도3의 실시예에서, 버스(101)는 Pentium ProTM 프로세서용으로 설계된 구조와 같은 구조를 가지고 있는 파이프라인을 구비하고 있다. 하나의 예지를 따라 설치되어 있는 복수의 인터페이스 단자를 가지고 있는 프로세서 카드(200)가 예시되어 있다. 이들 단자는 한 세트의 대응 단자 접속을 가진 슬롯을 가지고 있는 접속기(201)와 플로그 접속된다. 예컨대, 이 구조는 컴퓨터 시스템내에서 이용가능한 슬롯을 통해 마더 보드에 접속되어 있는 도터 카드(daughercard)를 나타낼 수 있다. 이 구조에 의해, 고성능버스(10)는 상이한 각종 프로세서를 각각 포함하고 있을 수 있는 복수의 프로세서 카드와 인터페이스를 행할 수 있다.
알수 있는 바와같이, 프로세서 카드(200)는 캐시 메모리(12a-12c)와 접속되어 있는 프로세서(PA)(11)를 구비하고 있고, 그리고 또한 버스 변환 장치(15)를 통해 버스(101)에 상호 접속되어 있다. 버스(101)에 접속되어 있는 기타 다른 디바이스로는 버스 마스터(205), 직접 메모리 액세스(DMA) 디바이스(202), I/O 디바이스(들)(207), 확장 디바이스(203) 및 클러스터(206)가 되도록 구성된 한 그룹의 프로세서(PB)를 포함하고 있다. 예컨대, 프로세스(PB)는 파이프라인 버스(101)의 버스 구조와 호환성이 있는 Pentium ProTM 프로세서를 구비하고 있을 수 있다. 이와같이, 마이크로프로세서(MP) 시스템은 도3의 컴퓨터 시스템에 예시되어 있다.
후술되는 설명을 위해, 고성능 버스(101)는 인텔 코포레이션의 Pentium ProTM 프로세서 버스로 간주될 수 있다. 상기 Pentium ProTM 프로세서 버스와 관련된 신호 처리 프로토콜에 대해서는 간행물, “Pentium ProTM 프로세서 패밀리 개발자의 매뉴얼, 제1권: 사양서”(1996)에 설명되어 있으며, 이 간행물은 미국 1-800-879-4683번으로 전화를 함으로써 이용가능하고 이 간행물은 본 명세서에서 참조 문헌으로서 포함되어 있다. 하지만 상기 Pentium ProTM 프로세서 버스의 각종 속성은 본 발명에 관련되어 있으므로 본 발명의 특정 측면을 보다 잘 이해할 수 있도록 이들 속성에 대해 설명한다.
먼저, Pentium ProTM 프로세서 버스의 버스 중재 프로토콜에 따라, 두 종류의 버스 에이전트, 즉 대칭 에이전트와 우선 순위 에이전트가 존재함은 물론이다. 대칭 에이전트는 라운드 로빈(순환형 우선 순위) 알고리즘을 이용하고 공정하고 분산된 중재를 지원한다. 각각의 대칭 에이전트는 RESET시에 할당된 특정 에이전트 식별(ID); 다음 중재 사건에 대한 최하위 우선 순위를 가지고 있는 상기 대칭 에이전트를 반영하고 있는 회전 ID 값; 및 “비지(busy)”상태 또는 “아이들(idle)” 상태를 지시해 주는 대칭 소유권 상태 지시기를 가지고 있다. 도 3의 실시예에서, 예컨대, 프로세서 카드(200)는 버스(101)에 접속되어 있는 여러 대칭 에이전트중 한 에이전트로 간주된다.
도 3에 도시된 구성과 같은 일반적인 시스템 구성에서, 대칭 에이전트는 개별적으로 또는 클러스터(206)가 되도록 구성된 프로세서(PB)와 같은 디바이스, 버스 마스터(205), 및 각종 확장 디바이스(203)를 포함하고 있을 수 있으며, 이때 이들은 버스(101)에 접속되어 있다. 도 3의 컴퓨터 시스템에서, 직접 메모리 액세서(DMA) 디바이스(202)는 상위 우선 순위 에이전트로서 동작할 수 있는데, 이는 이 디바이스가 통상적으로 메모리에 대해 직접적인 경로를 필요로 하기 때문이다. 기타 다른 구성에서, 상기 우선 순위 에이전트(들)는 도 3에 I/O 블록(207)에 의해 도시된 바와같이, 복수의 I/O 디바이스 대신에 중재를 행하는 상위 우선 순위 중재기를 포함하고 있을 수 있다.
중재 사건은 새로운 대칭 버스 소유자를 결정 및 변경하는 프로세스이다. 모든 중재 사건에서는, 최상위 우선 순위를 가지고 있는 대칭 에이전트가 대칭 소유자가 된다. 상기 대칭 소유자는 반드시 전체적인 버스 소유자일 필요는 없는데, 이는 어떤 대칭 소유자보다 상위의 우선 순위를 가지고 있는 우선 순위 에이전트가 한 대칭 에이전트로부터 상기 버스의 소유권을 가로챌 수 있기 때문이다. 일단, 상기 우선 순위 에이전트가 상기 버스를 중재해 주면, 새로운 트랜잭션이 진행중인 버스 로크 동작의 일부분이 아닌 경우에 상기 에이전트는 상기 대칭 소유자가 새로운 요구단계로 진입하는 것을 막는다. 버스 로크 동작은 인터럽트될 수 없는 단위 동작이다. 이러한 버스 동작의 일예로는 판독-수정-기록 사이클을 들 수 있다.
이제, 도 4를 참조하면, 이전에 도 2 및 도 3에 도시된 버스 변환 장치(15)의 일실시예의 개념적인 블록도가 도시되어 있다. 점선(10,100)은 각각 프로세서(11)와 버스(101)의 변환기(15) 사이의 버스 신호 인터페이스를 나타낸다. 각각의 인터페이스(10,100)는 각각의 버스 인터페이스와 관련된 전압과 논리 레벨을 변환하는데 필요한 데이타 및 주소 래치, 전압 변환 회로, 신호 변환 논리 회로 등을 포함하고 있을 수 있음을 당업자는 알 수 있다.
파이프라인 버스(101)와 인터페이스를 행하는 버스 인터페이스(100)의 경우에, 인터페이스 유닛 순차 큐(IOQ)(70)가 포함되어 있다. 이 IOQ(70)는 버스(101)의 현재 상태의 트랙을 유지해 주는 Pentium ProTM 프로세서 버스와 관련된 표준 논리 블록이다. 모든 버스 에이전트는 상기 버스측으로 발생된 모든 트랜잭션을 트래킹하기 위해 동일한 IOQ 상태를 유지한다. 트랜잭션이 상기 버스측으로 발생되면, 이 트랜잭션은 또한 각각의 에이전트의 IOQ내로 진입한다.
IOQ(70)의 깊이는 얼마나 많은 순차 트랜잭션이 상기 버스상에 동시에 나타날 수 있는지에 대한 한계치이다. 트랜잭션은 발생된 순서와 동일한 순서로 응답과 데이타를 수신하므로, IOQ(70)의 상부에서의 트랜잭션은 상기 응답 및 데이타 단계로 진입하기 위한 새로운 트랜잭션이다. 상기 응답 단계의 완료 이후에, 트랜잭션은 상기 IOQ로부터 제거된다. 상기 IOQ는 또한 기타 다른 버스 프로토콜 신호 외에, HIT#/HITM#, DRDY#, DBSY#와 같은 신호를 전송하는 일을 한다. 상기 IOQ의 디폴트 깊이는 8이지만 버스 에이전트는 RESET#시에 핀(A7#)의 액티브에 의해 깊이 1에 대한 IOQ(70)를 구성할 수 있다.
상이한 버스 프로토콜과 관련된 중재기 신호를 변환하는 버스 중재 변환기(BAC)(60)가 버스 변환 장치(15)내에 포함되어 있다. 예컨대, BAC(60)에 의해, 프로세서(11)는 버스(101)와 관련된 버스 프로토콜로 적절히 변환된 중재기 신호를 가지고 있음으로써 파이프라인 버스(101)에 대한 제어 또는 소유권을 획득할 수 있다.
버스 중재기 변환기(60)의 상세 블록도가 도 5에 예시되어 있다. BAC(60)에는 에이전트 식별(ID) 결정 상태 머신(61), 대칭 소유자 결정 상태 머신(62), 정지 공급 논리 회로(63), 및 버스 요구 논리 회로(64)가 포함되어 있다. 시스템 버스(101)의 대칭 중재 기술에서, 상기 버스에 대한 각각의 에이전트 요구 액세서는 적절한 요구(BREQ#) 신호를 공급해야 함을 알 수 있다. 예컨대, 프로세서(11)는 이 프로세서(11)의 버스 프로토콜에 따라 상기 BREQ# 신호를 구동함으로써 버스(101)에 대한 요구를 전송하도록 되어 있다.
상기 신호(BREQ, LOCK#, HLDA)는 버스 요구 논리 회로(64)로부터의 프로세서(11)의 입력이다. (공급시 논리 로우 상태인 것으로 추정되는 각각의 신호의 뒤에는 파운드 기호(#)가 있음에 주의하자. 예컨대, 상기 LOCK# 신호는 프로세서(11)가 단위 트랜잭션을 수행하고 있을 때 로우로 공급된다.)
상기 BREQ 신호는 버스 사이클을 수행하기 위해 버스(101)의 소유권을 획득할 필요가 있음을 버스 요구 논리 회로(64)측에 알려 주는, 프로세서(11)에 의해 공급된 버스 요구 출력이다. 상기 HLDA 신호는 상기 버스를 더 이상 소유하지 않음을 다른 요구 디바이스측에 알려 주는, 상기 프로세서(11)에 의해 공급된 홀드 확인 출력이다. 프로세서(11)와 관련된 버스 프로토콜에 따라, HLDA는 모든 현저한 버스 사이크(즉, 이전에 파이프라인처리된 사이클)이 완료될 때까지 공급되지 않는다. 상기 요구 논리 회로(64)는 프로세서(11)에 의해 발생된 버스 요구 신호를 시스템 버스(101)의 프로토콜과 관련된 상기 버스 요구신호와 호환성이 있는 상기 BREQ#[0]으로 변환한다.
일실시예에서, 버스 중재기 변환기(60)는 Pentium ProTM 프로세서 버스상에서 행해지는 라운드 로빈 중재 기술에 따라 대칭 에이전트로서 버스(101)의 소유권을 획득한다. 버스(101)데 대해 적절히 접속하기 위해, 각각의 대칭 에이전트는 비대칭 에이전트 식별(ID)를 할달받아야 한다. 이는 에이전트 ID 결정 유한 상태 머신(61)의 목적이다. 파워 온 또는 리세트시에, 대칭 에이전트 ID 결정 상태 머신(61)은 프로세서 카드(200)의 에이전트 ID 할달을 결정하기 위해 상기 BREQ#[3:0] 신호 라인을 수신한다. 상기 에이전트 ID 정보는 대칭 소유자 결정 상태 머신(62)측에 제공된다,
시스템 버스(101)의 소유권을 획득하기 위해 상기 대칭 에이전트 BREQ#[0] 신호가 공급되고, 그리고 상기 대칭 소유자 결정 상태 머신(62)은 소유권이 상기 Pentium ProTM 프로세서 버스의 버스 프로토콜에 따라 대칭 에이전트로서 획득될 때를 알아내기 위해 상기 버스의 상태를 검토한다. 시스템 버스(101)와 관련된 상기 버스 중재 신호는 BREQ#[3:0], BPRI#, LOCK#(도 7에 도시됨), 및 RESET#를 포함하고 있다. 상기 BREQ#[3:0] 버스 신호는 회전식으로 프로세서 카드(200)의 버스 변환 장치(15)를 포함해서, 상기 대칭 에이전트에 접속되어 있다. 이 배열은 파워 온 또는 RESET 동안에 특정 에이전트 ID를 가지고 있는 모든 대칭 에이전트를 초기화한다. 버스 요구 신호 BREQ#[3:0]는 개별적인 대칭 에이전트들이 시스템 버스(101)의 소유권을 중재하기 위해 버스 소유권 요구를 전송 및 수신하는데 이용하는 메카니즘을 제공한다.
상기 BREQ# 신호는 대칭 에이전트가 상위 우선 순위 버스 에이전트로부터 버스 소유권 요구를 수신하도록 해 주는 우선 순위 요구 신호이다. 예컨대 BPRI#는 버스(101)의 직접적인 소유권을 중재할 수 있도록 우선 순위 에이전트에 의해 공급될 수 있다. 버스(101)에 접속되어 있는 상기 대칭 에이전트는 우선 순위 에이전트가 상기 버스의 소유권을 요구하고 있음을 알리는 지시로서 상기 BPRI# 신호를 수신한다,
버스(101)상에서의 중재 사건의 경우에, 프로세서 카드(200)는 상기 시스템에서 현재 최상위의 우선 순위를 가지고 있으면 상기 버스의 대칭 소유자가 될 수 있다. 따라서, 우선 순위 에이전트는 상기 버스를 요구할 수 있고 그리고 프로세서 카드(200)상으로 소유권을 획득할 수 있다. 예컨대 I/O 디바이스(207)(도 3참조)는 상기 프로세서 카드(200)가 물론 단위 트랜잭션을 수행하고 있지 않고 그리고 상기 LOCK# 신호를 공급하지 않은 경우에는, BPRI#를 공급함으로써 프로세서 카드(200)로부터 상기 버스의 소유권을 획득할 수 있다. 물론 프로세서 카드(200)는 다른 실시예에서 우선 순위 에이전트로 지정될 수 있다.
홀드 공급 논리 회로(63)는 버스(101)로부터 상기 BPRI# 신호를 수신하여 프로세서(11)측으로 HOLD 신호와 AHOLD 신호를 발생해 줄 수 있도록 접속되어 있다. 상기 BPRI# 신호가 상기 버스(101)상에 공급되면, 이는 상기 버스의 소유권을 획득하기 위해 상위의 우선 순위 에이전트가 개입하고 있음을 의미한다. 상기 BPRI# 신호에 응답하여, 홀드 공급 논리 회로(63)는 어떤 추가적인 요구를 하지 않도록 프로세서(11)측에 이를 통보한다.
상기 AHOLD(주소 홀드) 신호는 프로세서(11)가 그 주소 버스 구동을 중지하도록 해 주며, 이에따라 상기 프로세서는 버스 사이클을 제어할 수 없음에 주의하자, 그러므로 상기 HOLD 신호와 상기 AHOLD 신호의 구동에 의해, 버스 변환 장치(15)는 버스(101)상의 다른 대칭 에이전트와 더불어 동작할 수 있다. 이에따라 프로세서(11)는 디폴트에 의해 상기 버스를 소유할 수 없게 되며 반면에 PentiumR프로세서의 버스 구조에서는 상기 프로세서가 디폴트에 의해 상기 버스를소유하게 된다. 복수의 프로세서 또는 에이전트를 가지고 있는 시스템 구성에서, 상기 HOLD 신호와 AHOLD 신호를 사용하면 둘 이상의 프로세서는 서로 포기할 필요가 없으며, 이에따라 “라이브 로크(live lock)”상황이 생긴다.
버스 요구 논리 회로(64)는 또한 상위의 우선 순위 에이전트가 상기 BPRI# 신호를 사용하여 상기 버스의 소유권을 요구하는 경우에, 프로세서(11)가 상기 버스의 제어를 바로 해제할 수 있도록 상기 프로세서(11)측에 상기 BOFF# 신호 입력을 발생해 준다. 상기 BOFF# 신호가 제거된 후에, 프로세서(11)는 전체적인 버스 사이클을 재시작한다.
다른 실시예에서 프로세서 카드(200)는 컴퓨터 시스템에서 대칭 에이전트 대신에 상위의 우선 순위 에이전트로서 동작한다.
이제, 도 4 및 도 6을 참조하면, 버스 변환 장치(15)는 시스템 버스(101)상에서의 발생을 위해 상기 프로세서(11)에 의해 발생된 요구를 변환하는 출력 요구 변환기(ORC)(20)를 더 구비하고 있다, 예시적인 실시예에서, 일단 버스(101)의 소유권이 PentiumR프로세서에 의해 획득되었으면, 상기 출력 요구 엔코딩은 PentiumR프로세서의 프로토콜로부터 상기 Pentium ProTM 프로세서 버스(101)의 신호 처리 프로토콜로 변화되어야 한다. 또한 상기 Pentium PriTM 버스는 두 클럭 요구 사이클을 수행하는 반면에, 상기 PentiumR프로세서는 단지 하나의 클럭 사이클로 동작한다, 그러므로 ORC(20)는 PentiumR으로부터 상기 Pentium ProTM 프로세서 버스측으로 상이한 요구형 핀을 변환하는 외에 프로세서(11)에 의해 발생된 요구를 적절히 시퀀싱하는 일을 한다.
출력 요구 변환기(20)는 요구 사이클링 유한 상태 머신(21), 요구 엔코더(22,23) 및 속성 엔코더(26)를 포함하고 있다. 상기 요구 사이클링 상태 머신(21)은 프로세서(11)가 버스(101)의 소유권을 획득하였음을 지시해 주는 버스(66)상의 신호를 BAC(60)로부터 수신한다. 이때 프로세서(11)는 유효 주소와 버스 사이클 정의가 존재함을 지시해 주기 위해 그 ADS#(주소 상태) 출력 신호를 공급할 수 있다.
단일 사이클 프로세서 요구가 시스템 버스(101)상의 두 별개의 클럭 사이클로서 적절히 시퀀싱될 수 있도록, 상태 머신(21)은 각종 요구 및 엔코딩 변화를 위해 멀티플렉서 회로(24,25)에 제공되는 제어 신호를 발생하는데 상기 정보를 이용한다. 상기 두 요구 사이클에 대한 엔코딩은 블록(22,23)에 의해 수행되며, 이들 블록은 프로세서(11)로부터 기록/판독(W/R#) 신호, 메모리 또는 I/O 트랜잭션(M/IO#) 신호 및 버스 사이클 정의(CACHE#) 신호를 입력으로서 수신한다. 상기 CHCHE# 신호는 캐시 재기록 사이클 동안에 상기 프로세서에 의해 공급되고 또한 상기 프로세서가 버스트(burst) 버스 사이클을 이용하여 캐시 라인필(line-fill)을 수행하고자 함을 외부 메모리측에 통보해 준다.
또한 요구 엔코더(22)는 요구된 판독 동작의 종류를 지시해 주기 위해 상기 D/C#(데이타/코드) 신호를 수신한다.
블록(22,23)에 의해 생성된 상기 엔코딩된 출력 신호는 멀리플렉서(24)측에 입력된다. 멀티플렉서(24)로부터 선택된 출력은 도 6에 도시된 바와같이, 상기 요구 사이클링 상태 머신(21)에 의해 제어된다. ADS# 신호가 요구 사이클링 상태 머신(21)에 의해 버스(101)측으로 발생되면, 프로세서(11)로부터의 각종 요구 종류가 엔코더(22)에 의해 제1사이클동안 엔코딩된다. 이때 프로세서(11)에 의해 제공된 주소 신호는 멀티플렉서(25)를 통해 시스템 버스 주소 라인 A#[35:3]측으로서의 출력을 위해 선택된다. 상기 요구 종류에 대한 기본 정보는 또한 제1사이클 동안에 상기 REQ#[4:0] 라인을 통해 상기 시스템 버스(101)측으로 배치된다. 요구 엔코더(22)는 본 발명의 일실시예에 따라 PentiumR형 핀을 상기 Pentium ProTM 프로세서 버스상의 적절한 요구형 신호로 변환하는 통상적인 조합 논리를 사용하여 구현될 수 있다.
상기 제2클럭 사이클 동안에, 멀티플렉셔(24)는 상기 시스템 버스(101)측으로의 출력을 위해 엔코더(23)의 Peqb[4:0] 출력을 선택한다. 또한, 상기 제2클럭 사이클 동안에, 상기 주소 신호 라인은 상기 요구 종류에 관한 부가적인 정보를 상기 파이프라인 버스측으로 전송하는데 이용된다. 이 정보는 바이트 인에이블 신호라인(BE#[7:0]); 로크된 전송 요구가 예측된 버스 사이클의 개수의 2배임을 논리 회로측으로 통보하는 스플리트(split) 사이클(SCYD#)신호; L2 캐시가 기록중인 라인데 대한 재기록 또는 기록 쓰루 폴리시(write-through policy)를 사용해야 하는지를 특정해 주기 위한 페이지 기록 쓰루(PWT) 신호; 및 CACHE# 신호와 같은 요구 종류의 각종 속성을 포함하고 있다. 이 정보는 상기 제2사이클 동안에 멀티플렉서(25)에 의해 시스템 버스(101)의 주소 라인특으로의 출력으로서 선택된다.
트랜잭션을 지연시킬 수 있는(즉, 트랜잭션으로 하여금 고장을 완료하도록(complete)해 주는)응답 에이전트를 포함하고 있는 시스템 구성에서, ORC(20)는 DEN# 신호 라인을 공급 해제하는 논리 회로를 포함하고 있어야 하며, 이때 각각의 요구는 버스(101)상으로 발생된다. 상기 DEN# 신호는 지연 인에이블 신호이고, 그리고 EXF1#/Ab4# 핀(즉, 제2사이클 주소 핀의 비트 4)상의 요구단계의 제2클럭에서 버스(101)상에서 구동된다. 예컨대, 이 신호 처리 논리 회로는 상태 머신(21)의 통상적인 조합 논리 회로에 포함되어 있을 수 있다. 각각의 출력 요구로 DEN# 를 공급 해제하면 어떤 응답 에이전트도 트랜잭션을 지연시킬 수 없게 된다.
또한 주소 패리티 신호와 요구 패리티 신호는 출력 요구의 일부분으로서 버스(101)측으로 블록(27,28)에 의해 각각 발생된다.
버스 변환 블록(15)은 단위 트랜잭션 동안에 즉 인터럽트 될수 없는 여러 클릭 사이클에서의 트랜잭션 동안에, 상기 버스가 로크될 수 있도록 해 주는 버스 로크 변환기(BLC) 회로(50)를 더 포함하고 있다. 상기 PentiumR프로세서용 로크 프로토콜은 Pentium ProTM 프로세서 버스상에서 구현된 로크 신호 처리 프로토콜과 유사하지만, 각각의 버스에 관련하여 로크가 공급될 수 있을 때에 프로토콜이 변한다.
도 7에는 ORC(20)로부터의 입력 이외에. 프로세서(11)로부터 LOCK# 신호를 수신하는 로크 변환 유한상태 머신(51)을 구비하고 있는 버스로크 변환기가 예시되어 있다. 시스템 버스(101)에서, 상기 LOCK# 신호는 모든 에이전트들 사이에서 버스 처리된 쌍방향 신호이다. Pentium ProTM 프로세서의 버스 중재 프로토콜에 딸, 현재 버스 소유자는 개별적인 버스 로크 동작을 정의하기 위해 LOCK#를 공급할 수 있다.
프로세서(11)가 그 LOCK# 신호를 공급한 직후에, 시스템 버스(101)는 버스(101)의 신호 처리 프로토콜에 따라 로크 변환 상태 머신으로부터 상기 변환된 LOCK# 신호를 수신한다. 기본적으로, 상태 머신(51)은 버스(101)상에 대응 LOCK# 신호를 공급하기 전에 ORC(20)에 의해 발생되도록 ADS# 등과 같은 신호를 대기하면서 변동가능한 지연을 실행한다. 버스(101)상의 상기 LOCK# 신호는 일련의 단위 트랜잭션을 통해 지속되어, 상기 트랜잭션이 완료된 후에 공급 해제된다. 또한 공급 해제는 버스(101)의 적절한 신호처리 프로토콜에 따라 수행된다.
도 4에서 알수 있는 바와 같이, 버스 변환 장치(15)는 또한 상기 시스템 버스상의 신호요구를 프로세서(11)측으로 입력될 수 있는 신호로 변환하는 입력 요구 변환기(IRC)(30)를 포함하고 있다. PentiumR프로세서의 신호 처리 프로토콜에 따라, 외부 주소 스트로브(EADS#) 신호는 유효 주소가 그 국부 주소 버스상에 존재하고 이 주소가 스누핑될 수 있음을 상기 프로세서측에 알려주기 위해 공급된다. 상기 스누프가 액티브되면, 상기 프로세서는 상기 버스로부터의 메모리 주소를 캐시 디렉토리측으로 전송하며, 이에따라 룩업테이블이 발생된다. 하지만 Pentium ProTM 프로세서 버스는 EADS# 신호, 또는 그 등가신호를 포함하고 있지 않으므로, 본 발명은 다음의 기술을 구현한다.
파이프라인 버스(101)는 일반적으로 멀티 에이전트 시스템 버스이므로, 상기 버스상의 ADS# 신호는 상기 복수의 에이전트 중 한 에이전트에 의한 요구를 지시해 준다. 상기 버스에 접속되어 있는 모든 에이전트는 이들 요구를 간단히 관측할 수 있으며, 그리고 상기 요구 종류에 따라 버스(101)의 스누프에 적절한지 그리고 정보로 무엇을 처리해야하는지를 결정한다.
도8에 도시된 바와 같이 IRC(30)는 시스템 버스(101)로부터 요구 신호REQ#[4:0]를 수신하는 입력 요구 변환 논리 블록(31)을 포함하고 있다, 논리 블록(31)은 또한 버스(101)로부터 ADS# 신호를 수신한다. 입력 요구 변환 논리 회로(31)는 버스(101)상의 요구가 프로세서(11)에 의해 스뉴핑가능한지를 결정하는 동작을 행한다. 시스템 버스(101)상에서의 현재 트랜잭션이 스누핑가능하면, 논리 블록(31)은 주소 정보와 더불어 상기 프로세서측으로 EADS#가 구동되도록 해 준다. IRC 논리 블록(31)은 EADS# 신호와 프로세서(11)의 주소 핀을 공급/공급 해제하기 위해 3상태 버퍼(33,34)를 제어한다.
입력 요구 변환 논리 블록(31)은 또한 상기 캐시 라인을 유효 상태로 유지해 두거나 스누프 적중의 경우에는 무효 상태로 만들기 위해 직접 프로세서(11)측으로 무효(INV) 신호를 발생한다. 상기 캐시 라인이 유효 데이타를 포함하고 있는 경우에는, 상기 라인은 공유 캐시 코히어런트 상태로 된다. 논리 블록(31)은 주소 홀드(AHOLD) 신호가 공급되었는지를 확인해야 하며, 이에따라 프로세서(11)는 상기 주소 버스를 적절히 스누핑할 수 있음에 주의하자. 이에따라 캐시 일관성의 유지가 보장된다.
이때 도8에 도시된 IRC(31)의 구현은 시스템 버스(101)가 신호 변환을 위해 파이프라인 해제된 것으로 추정하고 있음은 물론이다. 본 발명의 다른 실시예에서는 버스(101)를 파이프라인 해제하지 않는 것이 바람직할 수 있다. 이러한 구현예에서, 버스 변환 장치(15)는 프로세서(11)측으로 모든 스누프를 전송하고 시스템 버스(101)를 주기적으로 정지시키는 큐잉(queuing) 메카니즘을 더 포함하고 있을 수 있다.
또한 IRC(31)는 시스템 버스(101)상의 36비트 요구가 상기 프로세서 인터페이스측으로 전송되지 않도록 해 주는 스누프 제어 논리 회로를 포함하고 있다. 예컨대 PentiumR프로세서는 32비트 요구에 한정되어 있다. 그러므로 IRC 논리 블록(31)은 32비트보다 큰 비트의 요구가 프로세서(11)에 의해 스누핑되지 않음을 보장해 준다.
도 9는 도 3의 버스 변환 장치(15)에 도시도니 캐시 코히어런시 제어 유닛(CCC)의 상세도이다. 도 9의 실시예는 3 상태 버퍼(43)를 통해 데이타 버스를 구동하는 더티 데이타 버퍼(42)에 접속되어 있는 스누프 결과 변환 상태 머신(41)을 구비하고 있는 CCC(40)를 보여준다. 일단 IRC(31) 는 스누프가 프로세서(11)측으로 구동됨을 알리는 신호를 상태 머신(41)측으로 전송해 주면, 몇 클럭 후에, 상기 프로세서는 캐시 적중, 더티 라인에 대한 캐시 적중, 또는 캐시 적중 실패가 발생되었음을 지시해 주는 신호는 CCC(40)측에 제공한다. 이 정보는 신호 라인(HIT/HITM,ADS)을 통해 공급된다.
또한, 스누프 결과 변환 상태 머신(41)은 버스(101)와 관련된 입력 순서 큐(IOQ)와 통신한다. 상기 IOQ는 상기 시스템 버스를 감시하고 적절한 신호를 상기 상태 머신과 3상태 버퍼(43)측으로 전송하며 이에따라 데이타는 버스(101)의 신호 처리 프로토콜에 따라 버스(101)측으로 전송될 수 있다. 일실시예에서, IOQ 는 통상적인 버스 상태 트래킹 논리 회로를 구비하고 있다. 이 버스 상태 트래킹 논리 회로는 시스템 버스(101)를 통해 정확한 시간에 상태 정보를 간단히 제공해 준다.
일실시예에서, IOQ는 복수의 엔트리를 포함하고 있고, 이때 각각의 엔트리는 상기 파이프라인 버스상에서 현재 상태로 변환된다. 각각의 IOQ 엔트리는 또한 상기 트랜잭션의 상태를 트래킹한다. 이 방법으로, 모든 버스 에이전트는 상기 버스상의 파이프라인을 통해 흐름에 따라 각각의 트랜잭션의 트랙을 유지한다. 현재 설명한 실시예의 경우에, 상기 IOQ는 “I”의 깊이를 가지고 있는데, 이는 상기 버스가 프로세서(11)로의 변환을 위해 파이프라인해제되기 때문이다.
또한, 상태 머신(41)은 스누프 사건으로부터 시스템 버스(101)의 버스 트래킹 논리 회로측으로 다시 일부 정보를 통신한다. 클린 라인에 대한 적중, 또는 캐시 적중 실패의 경우에, 상태 머신(41)은 적절한 시간에 이 상태를 시스템 버스(101)측으로 간단히 보고해 준다. 하지만, 적중이 더티 라인측으로 발생되면(즉, 프로세서가 HITM# 신호를 공급하면), 이 상황은 특정 처리를 필요로 하는데, 이는 프로세서(11)가 직접 출력 더티 데이타로 설계되기 때문이다.
ADS# 신호가 스누프 적중 후에 상태 머신(41)에 의해 검출되면, 이는 더티 데이타가 프로세서(11)에 의해 바로 전송되게 됨을 의미한다. 시스템 버스(101)의 신호 처리 프로토콜은 데이타가 이 방법으로 덤프(dump)되도록 허용하지 않기 때문에, 더티 데이타 버퍼(42)는 프로세서(11)로부터 출력될 때 상기 데이타를 캡쳐하며, 이에따라 상기 데이타는 적절한 시간에 버스(101)측으로 전송될 수 있다. 이 프로세스는 물론 스누프 결과 변환 상태 머신(41)의 제어하에 있다, 상기 IOQ의 버스 상태 트래킹 논리 회로는 또한 도9의 구현예에서 더티 데이타 버퍼(42)에 접속되어 있는데, 이는 트랜잭션을 완료하기 위해 더티 데이타가 시스템 버스(101)상으로 전송될 수 있음을 지시해 주는 정보를 상기 논리 회로가 가지고 있기 때문이다.
또한, 스누프 결과 변환 상태 머신(41)은 프로세서(11)에 의해 출력중인 데이타를 조절하는데 상기 BRDY# 신호를 사용할 수 있다. 이 다른 구현예에서, 버퍼(42)는 제거될 수 있으며, 그리고 프로세서(11)로부터의 데이타 버스 라인은 시스템 버스(101)에 접속되기 전에 3상태 디바이스(43)에 의해 간단히 3상태로 될 수 있다. 이 실시예에서, BRDY# 는 현재 주소 지정된 디바이스가 기록에 응답하여 PentiumR프로세서로부터 데이타를 수신하였음을 지시해 주는데 사용됨에 주의하자. 환언하면, 스누프 결과 변환 상태 머신(41)은 적절한 핸드세이킹 신호를 제공해 줌으로써 데이타가 시스템 버스(101)측으로 바로 전송될 수 있도록 동작을 행한다.
반복을 위해, 논리 블록(41)은 프로세서(11)로부터의 스누프 결과를 입력받아 이를 상기 IO1측으로 전달하며, 이때 이 IOQ는 버스 인터페이스(101)에 포함되어 있다. HITM# 신호가 프로세서(11)에 의해 공급되는 경우에, 스누프 결과 변환 상태 머신(41)은 다음 ADS# 신호가 프로세서(11)에 의해 출력될 때까지 대기하는데, 이는 이로부터 더티 데이타 덤프의 시작을 알 수 있기 때문이다.
도 10에는 통상적인 상태 머신과 조합 논리 회로를 구비하고 있는 버스 요구 프로토콜 변환 논리 유닛(701)이 예시되어 있다. 도시된 바와같이, 논리 유닛(70)은 버스 프로토콜 변환 유한 상태 머신(72)과 순차큐(71)를 포함하고 있다,. 상태 머신(71)은 프로세서(11)와 시스템 버스(101)사이에서 필요한 프로토콜 신호 변환을 수행한다. 순차 큐(71)는 상기 인터페이스의 대향측에서, 두 버스의 상태의 트랙을 유지하는데 이용된다. IOQ(71)는 시스템 버스(101)의 프로토콜에 따라 특정된 바와같이, 버스 상태 정보를 홀딩하기 위한 통상적인 논리 회로와 레지스터 기억 장치를 포함하고 있다.
상기 버스 인터페이스의 양측에 보인 신호의 상태를 트래킹하는 외에, 논리 유닛(70)은 또한 필요한 핸드세이킹 신호, 예컨대 데이타 전송 핸드세이킹을 제공한다. (특정예에서, 상기 인터페이스의 대향측의 버스 신호는 밀접하게 관련된 기능을 가지고 있음에 주의하자. 예컨대, 프로세서(11)에 접속되어 있는 상기 ADS# 신호는 단일 방향 주소 스트로브 신호이다. 대응하는 변환은 실질적으로 쌍방향 버스인 시스템 버스(101)의 상기 ADS# 신호에 대해 행해진다)
알 수 있는 바와같이, 버스 트래킹 논리 유닛(70)은 시스템 버스(101)와 프로세서(11)사이에서 전송되는 각종 신호를 변환한다. 이 그룹내에는 본 발명의 일실시예에 따른 주소 패리티 오류 신호(AERR#)가 포함되어 있다. 패리티 오류를 검출하는 에이전트는 상기 트랜잭션의 오류 단계동안에 상기 AERR# 신호를 공급한다. 모든 버스 에이전트는 상기 AERR#를 관측하고, 그리고 상기 순차 큐로부터 상기 트랜잭션을 제거하고 상기 트랜잭션과 관련된 모든 나머지 단계를 취소화함으로써 다음 클럭상에서 불량 트랜잭션을 억제한다. 상기 인터페이스의 프로세서측의 상기 대응하는 주소 패리티 신호는 APCHK#이다, 주소 패리티 오류의 경우에 프로세서(11)는 APCHK#를 액티브시킨다.
또한 논리 유닛(70)의 인터페이스의 상기 시스템 버스 측에는 신호(HIT#/HITM#)가 포함되어 있다. HIT#와 HITM#은 상기 스누핑 에이전트에서 라인이 유효 또는 무효인지, 상기 라인이 캐싱 에이전트에서 수정(더티)상태인지, 또는 상기 스누프 단계가 실행될 필요가 있는지를 지시해 주는데 사용된다. 상기 HIT# 신호와 HITM# 신호는 시스템 레벨로 캐시 코히어런시를 유지하는데 사용된다, 이전에 설명한 바와같이 스누핑 에이전트가 HITM#을 공급하면, 상기 에이전트는 상기 데이타 단계(암시적인 재기록) 동안에 상기 수정 라인을 재기록하게 됨을 추정한다. 상기 DEFER# 신호는 또한 상기 스누프 단계에서 구동된다. 상기 DEFER#을 상기 트랜잭션이 순차 완료 보장될 수 있음을 지시해 주기 위해 공급해제된다. DERER#을 공급하는 에이전트는 적절한 응답을 발생함으로써 상기 IOQ(71)로부터의 상기 트랜잭션의 적절한 제거를 보장해 준다. 트랜잭션의 응답 신호 그룹은 동일한 트랜잭션의 스누프 단계 후에 발생되며, 그리고 상기 필요한 스누프 결과를 설명하는 엔코딩을 제공하는 신호(RS#[2:0])를 포함하고 있다, 상기 응답 에이전트는 상기 IOQ(71)의 상부에서 상기 트랜잭션을 완료하는 에이전트이다. 기록 트랜잭션의 경우에, TRDY#는 기록 데이타 또는 재기록 데이타를 입려갇을 준비가 되어 있음을 지시해 주기 위해 상기 응답 에이전트에 의해 공급된다.
상기 데이타 전송 신호 그룹은 데이타 단계에서 구동되는 신호들을 포함하고 있고, 그리고 DBSY#/DRDY#(데이타 버스 비지 및 데이타 준비)를 포함하고 있다. DRDY#는 유효 데이타가 상기 버스상에 존재하고 그리고 래치되어야 함을 지시해 준다. 상기 데이타 버스 소유자는 유효 데이타가 전송되어야 하는 각각의 클럭 동안에 DRDY#를 공급한다. DBSY#는 다중 클럭 데이타 전송을 위해 제1DRDY#전에 그리고 DRDY# 공급들 사이에 상기 버스를 홀딩하는데 사용된다. 상기 스누프, 응답, 및 데이타 단계 신호는 모두 IOQ(71)를 통해 트래킹된다.
버스 프로토콜 변환 상태 머신(72)은 다음 주소 입력(NA#)을 포함하고 있는 프로세서(11)측에 출력을 제공한다, 상기 NA# 입력은 현재 사이클 종료 전에 상기 버스상으로 다음 버스 사이클이 전송되도록 이를 요구하는 디바이스에 의해 공급된다. 외부 기록 버퍼 엠프티(empty)(EWBE#) 신호는, 메모리 동작이 실행 순서(즉, 스트롱 기억 순서)로 발생되도록 이를 보장해 주기 위해 프로세서(11)측에 제공된다. 이에 따라 모든 버퍼 기록은 다음 명령을 실행함으로써 완료될 수 있다. 이전에 설명한 바와같이, 상기 BRDY# 신호는 현재 주소 지정된 디바이스가 판독에 응답하여 상기 데이타 버스 핀상에 유효데이타를 제공하였거나, 상기 현재 주소 지정된 디바이스가 기록에 응답하여 상기 프로세서로부터 데이타를 입력받았음을 지시해 준다. 이와 유사하게 KEN#은 판독중인 위치가 캐시가능 주소 공간내에 존재하는지를 지시해 주는 캐시 제어신호이다. 주소가 캐시가능하지 않으면, 상기 KEN#라인은 캐시 라인 필이 수행되지 않도록 이를 상기 프로세서측에 알려주기 위해 인액티브로 구동된다.
알 수 있는 바와같이, 본 발명은 규격화 컴퓨터 버스 인터페이스를 통해 호스트에 접속되어 있는 플러그 인 카드 또는 모듈의 형태로 프로세서 서브시스템을 제공함으로써 종래의 고유한 문제를 해결해준다. 본 발명은 시스템 기본 구조를 수정할 필요가 없도록 해 주면서 각종 프로세서와의 호환성을 제공한다. 본 발명은 유리하게 이전 세대의 프로세서(예컨대, PentiumR프로세서)가 이음매없이 고성능(즉, Pentium ProTM 프로세서) 시스템 버스에 접속되어 있는 기타 다른 에이전트(agent)와 정보를 주고 받을 수 있도록 할 수 있다.
본 발명은 규격화 컴퓨터 버스 인터페이스를 통해 호스트에 접속되어 있는 프로세서 서브시스템(또는 모듈)을 포함하고 있는 컴퓨터 구조를 제공함으로써 종래의 고유한 문제를 해결해 준다. 본 발명은 시스템 기본 구조를 수정할 필요가 없도록 해 주면서 다양한 프로세서 종류와의 호환성을 제공한다.

Claims (18)

  1. 호스트 컴퓨터 시스템의 버스에의 접속을 위한 인터페이스를 가지고 있는 프로세서 서브시스템으로서, 상기 버스가 제1신호 처리 프로토콜에 따라 동작하는 프로세서 서브시스템에 있어서, 상기 제1신호 처리 프로토콜과는 다른 제2신호 처리 프로토콜에 따라 동작하는 프로세서; 상기 프로세서에 그리고 상기 인터페이스에 접속되어, 상기 버스의 제1신호 처리 프로토콜을 상기 프로세서의 제2신호 처리 프로토콜로, 그리고 그 역으로 변환하는 버스 변환 장치를 구비하고 있는 것을 특징으로 하는 프로세서 서브시스템.
  2. 제1항에 있어서, 상기 프로세서에 접속되어 있는 적어도 하나의 캐시 메모리를 더 구비하고 있는 것을 특징으로 하는 프로세서 서브시스템.
  3. 제2항에 있어서, 상기 프로세서, 버스 변환 장치, 및 적어도 하나의 캐시 메모리는 모듈내에 포함되어 있고, 이 모듈은 상기 버스의 분산 중재 기술에 따라 대칭 에이전트 또는 우선 순위 에이전트로 분류되는 것을 특징으로 하는 프로세서 서브시스템.
  4. 제3항에 있어서, 상기 버스 변환 장치는 순환형 우선 순위 알고리즘에 따라 상기 프로세서 대신에 상기 버스의 소유권을 획득하는 중재 변환 논리 회로를 포함하고 있는 것을 특징으로 하는 프로세서 서브시스템.
  5. 제4항에 있어서, 상기 버스 변환 장치는 상기 프로세서로부터의 요구를 상기 버스상의 제1 및 제2요구 사이클로 변환하는 출력 요구 변환기를 더 구비하고 있는 것을 특징으로 하는 프로세서 서브시스템.
  6. 제5항에 있어서, 상기 버스는 파이프라인 버스를 구비하고 있는 것을 특징으로 하는 프로세서 서브시스템.
  7. 제6항에 있어서, 상기 버스 변환 장치는 상기 프로세서에 의해 스누핑가능한 상기 버스상의 트랜잭션을 식별하는 입력 요구 변환기로서, 상기 트래잭션이 상기 입력 요구 변환기에 의해 상기 프로세서측으로 입력되는 입력 요구 변환기를 더 구비하고 있는 것을 특징으로 하는 프로세서 서브시스템.
  8. 제7항에 있어서, 상기 버스 변환 장치는 캐시 적중, 수정 라인에 대한 캐시 적중, 또는 캐시 적중 실패를 지시해 주는 신호를 상기 프로세서로부터 수신하는 캐시 코히어런시 제어 유닛으로서, 상기 프로세서에 의해 상기 버스측으로 출력된 상기 수정 라인으로부터 더티 데이타를 조절하는 준비 신호를 공급/공급 해제함으로써 상기 수정 라인에 대한 캐시 적중에 응답하는 캐시 코히어런시 제어 유닛을 더 구비하고 있는 것을 특징으로 하는 프로세서 서브시스템.
  9. 제8항에 있어서, 상기 버스 변환 장치는 캐시 적중, 수정 라인에 대한 캐시 적중, 또는 캐시 적중 실패를 지시해주는 신호를 상기 프로세서로부터 수신하는 캐시 코히어런시 제어 유닛으로서, 상기 프로세서로부터의 수정 라인에 대한 캐시 적중 출력에 응답하여 더티 데이타를 저장하는 버퍼를 포함하고 있고, 이때 상기 더티 데이타는 상기 제1신호 처리 프로토콜에 따라 상기 캐시 코히어런시 제어 유닛에 의해 상기 버스측으로 전송되는 캐시 코히어런시 제어 유닛을 더 구비하고 있는 것을 특징으로 하는 프로세서 서브시스템.
  10. 제9항에 있어서, 상기 버스 변환 장치는 단위 트랜잭션과 관련하여 상기 프로세서에 의해 발생된 제1로크 신호를 상기 제1신호 처리 프로토콜에 따라 상기 버스상에 제공된 제2로커 신호로 변환하는 버스 로크 변환기를 더 구비하고 있는 것을 특징으로 하는 프로세서 서브시스템.
  11. 파이프라인 버스에 접속되어, 제1신호 처리 프로토콜에 따라 동작하는 호스트 프로세서를 포함하고 있는 컴퓨터 시스템의 슬롯에 접속되도록 된 카드에 있어서, 상기 카드의 적어도 일측 에지를 따라 설치되어 있는 복수의 인터페이스 단자로서, 상기 파이프라인 버스에 전기적 접속을 제공하기 위해 상기 슬롯에 삽입되도록 채택되어 있는 복수의 인터페이스 단자; 상기 파이프라인 버스의 상기 제1신호 처리 프로토콜과는 다른 제2신호 처리 프로토콜에 따라 동작하는 프로세서와, 상기 파이프라인 버스의 제1신호 처리 프로토콜을 상기 프로세서의 제2신호 처리 프로토콜로 그리고 그 역으로 변환하는 버스 변환 장치로서, 상기 파이프라인 버스의 제1신호 처리 프로토콜과 호환성이 있는 단자에 접속되어 있는 제1인터페이스 및 상기 프로세서에 접속되어 상기 프로세서의 제2신호 처리 프로토콜과 호환성이 있는 제2인터페이스를 가지고 있는 버스 변환 장치를 포함하고 있는, 상기 카드에 장착되어 있는 복수의 반도체 디바이스를 구비하고 있는 것을 특징으로 하는 카드.
  12. 제11항에 있어서, 상기 제1신호 처리 프로토콜은 대칭 및 우선 순위 분류를 포함하고 있는 중재 기술을 포함하고 있고, 상기 카드는 상기 파이프라인 버스상의 대칭 에이전트로 분류되는 것을 특징으로 하는 카드.
  13. 제11항에 있어서, 상기 버스 변환 장치는 상기 제1신호 처리 프로토콜에 따라 상기 프로세서의 버스 요구 신호를 상기 파이프라인 버스의 버스 요구 신호로 변환하는 버스 요구 논리 회로; 상기 버스 요구 논리 회로에 접속되어, 상기 파이프라인 버스상의 RESET에 응답하여 상기 버스 변환 장치의 에이전트 ID를 결정하는 에이전트 ID 상태 머신; 상기 에이전트 ID 상태 머신과 상기 버스 요구 논리 회로에 접속되어, 상기 파이프라인 버스의 현재 상태를 감시하고, 상기 프로세서가 상기 파이프라인 버스의 소유권을 취득한 때를 결정하는 대칭 소유자 상태 머신; 상기 대칭 소유자 상태 머신에 접속되어, 홀드 신호입력을 상기 프로세서측에 발생해 주는 홀드 공급 논리 회로로서, 상기 홀드 신호가 상기 파이프라인 버스의 소유권을 포기할 것을 상기 프로세서측에 요구하는 홀드 공급 논리 회로를 더 포함하고 있는 것을 특징으로 하는 카드.
  14. 제13항에 있어서, 상기 버스 변환 장치는 상기 프로세서로부터의 요구를 상기 파이프라인 버스상의 제1 및 제2요구 사이클로 변환하는 출력 요구 변환기; 및 상기 프로세서에 의해 스누핑가능한 파이프라인 버스상의 트랜잭션을 식별하는 입력 요구 변환기로서, 상기 트랜잭션이 그 입력 요구 변환기에 의해 상기 프로세서측으로 입력되는 입력 요구 변환기를 더 구비하고 있는 것을 특징으로 하는 카드.
  15. 제14항에 있어서, 상기 버스 변환 장치는 수정 라인에 대한 캐시 적중을 지시해 주는 신호를 상기 프로세서로부터 수신하는 캐시 코히어런시 제어 유닛으로서, 상기 프로세서에 의해 상기 파이프라인 버스측으로 출력된 상기 수정 라인으로부터의 더티 데이타를 조절함으로써 상기 신호에 응답하는 캐시코히어런시 제어 유닛을 더 구비하고 있는 것을 특징으로 하는 카드.
  16. 제15항에 있어서, 상기 버스 변환 장치는 수정 라인에 대한 캐시 적중을 지시해 주는 신호를 상기 프로세서로부터 수신하는 캐시 코히어런시 제어 유닛으로서, 더티 데이타를 저장하는 버퍼를 또한 포함하고 있고, 이 더티 데이타는 그 버퍼에 저장중인 상기 프로세서에 의해 상기 수정라인으로부터 출력되어, 상기 제1신호 처리 프로토콜에 따라 상기 캐시 코히어런시 제어 유닛에 의해 상기 파이프라인 버스측으로 전송되는 캐시 코히어런시 제어 유닛을 더 구비하고 있는 것을 특징으로 하는 카드.
  17. 제16항에 있어서, 상기 버스 변환 장치는 단위 트랜잭션과 관련하여 상기 프로세서에 의해 발생된 제1로크 신호를 상기 제1신호 처리 프로토콜에 따라 상기 시스템 버스상에 제공된 제2로크 신호로 변환하는 버스 로크 변환기를 더 구비하고 있는 것을 특징으로 하는 카드.
  18. 제17항에 있어서, 상기 출력 요구 변환기는 일단 상기 프로세서가 상기 파이프라인 버스의 소유권을 획득하고 프로세서 주소 스트로브 신호를 공급하면 버스 주소 스트로브 신호와 제어 신호를 발생하는 요구 사이클링 상태 머신; 상기 제어 신호에 의해 선택된 복수의 입력과 출력을 가지고 있는 멀티플렉서 회로; 상기 프로세서로부터 상기 파이프라인 버스측으로 각종 요구형 신호를 변환하는 요구 엔코딩 회로로서, 상기 프로세서에 의한 신호 사이클 요구가 상기 파이프라인 버스상의 이중 사이클 요구로 시퀀싱될 수 있도록 상기 멀티플렉서 회로에 접속되어 있는 요구 엔코딩 회로를 구비하고 있는 것을 특징으로 하는 카드.
    ※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.
KR1019970030736A 1996-07-03 1997-07-03 범용 컴퓨터 구조용 프로세서 서브시스템 KR980010805A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/675,854 1996-07-03
US08/675,854 US5764934A (en) 1996-07-03 1996-07-03 Processor subsystem for use with a universal computer architecture

Publications (1)

Publication Number Publication Date
KR980010805A true KR980010805A (ko) 1998-04-30

Family

ID=24712229

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970030736A KR980010805A (ko) 1996-07-03 1997-07-03 범용 컴퓨터 구조용 프로세서 서브시스템

Country Status (9)

Country Link
US (1) US5764934A (ko)
EP (1) EP0817089B1 (ko)
JP (1) JPH113313A (ko)
KR (1) KR980010805A (ko)
CN (1) CN1176434A (ko)
BR (1) BR9703861A (ko)
CZ (1) CZ211097A3 (ko)
DE (1) DE69733384T2 (ko)
MY (1) MY114584A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072063B2 (en) 2000-09-11 2006-07-04 Canon Kabushiki Kaisha Information processing apparatus and system, method of controlling same, peripheral apparatus and printer driver
US7095520B2 (en) 2000-09-11 2006-08-22 Canon Kabushiki Kaisha Information processing apparatus and system, information processing method and device driver
US7126709B2 (en) 2000-09-11 2006-10-24 Canon Kabushiki Kaisha Printing control apparatus and system, method of controlling same, printing apparatus and printer driver
US7162620B2 (en) 2002-03-13 2007-01-09 Sony Computer Entertainment Inc. Methods and apparatus for multi-processing execution of computer instructions

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5822549A (en) * 1996-07-15 1998-10-13 Micron Electronics, Inc. Computer system and bus controller for controlling access to a computer bus
US5905876A (en) * 1996-12-16 1999-05-18 Intel Corporation Queue ordering for memory and I/O transactions in a multiple concurrent transaction computer system
US6430654B1 (en) * 1998-01-21 2002-08-06 Sun Microsystems, Inc. Apparatus and method for distributed non-blocking multi-level cache
US6308255B1 (en) * 1998-05-26 2001-10-23 Advanced Micro Devices, Inc. Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system
US6480952B2 (en) 1998-05-26 2002-11-12 Advanced Micro Devices, Inc. Emulation coprocessor
US6053346A (en) 1998-06-08 2000-04-25 3M Innovative Properties Company Reusable one-piece storage and shipping container
US6473832B1 (en) 1999-05-18 2002-10-29 Advanced Micro Devices, Inc. Load/store unit having pre-cache and post-cache queues for low latency load memory operations
US6427193B1 (en) * 1999-05-18 2002-07-30 Advanced Micro Devices, Inc. Deadlock avoidance using exponential backoff
US6266744B1 (en) 1999-05-18 2001-07-24 Advanced Micro Devices, Inc. Store to load forwarding using a dependency link file
US6473837B1 (en) 1999-05-18 2002-10-29 Advanced Micro Devices, Inc. Snoop resynchronization mechanism to preserve read ordering
US6609169B1 (en) 1999-06-14 2003-08-19 Jay Powell Solid-state audio-video playback system
US7231411B1 (en) 1999-09-15 2007-06-12 Koninklijke Philips Electronics N.V. Removable card system with downloadable agent for communicating with a digital television receiver or other host device
US6658502B1 (en) * 2000-06-13 2003-12-02 Koninklijke Philips Electronics N.V. Multi-channel and multi-modal direct memory access controller for optimizing performance of host bus
JP2002091725A (ja) * 2000-09-11 2002-03-29 Canon Inc 情報処理装置及びシステム及びその制御方法と周辺装置とプリンタドライバ
KR100703357B1 (ko) * 2003-08-16 2007-04-03 삼성전자주식회사 보조제어부를 구비하는 휴대용 단말기의 캐시메모리구현장치 및 방법
US20050210229A1 (en) * 2004-03-22 2005-09-22 Prashant Sethi Method and system for configuration of processor integrated devices in multi-processor systems
US7469312B2 (en) * 2005-02-24 2008-12-23 International Business Machines Corporation Computer system bus bridge
US20060190655A1 (en) * 2005-02-24 2006-08-24 International Business Machines Corporation Apparatus and method for transaction tag mapping between bus domains
US7710741B1 (en) * 2005-05-03 2010-05-04 Nvidia Corporation Reconfigurable graphics processing system
CN108664436B (zh) * 2017-03-28 2021-10-15 上海山里智能科技有限公司 一种综合计算系统
US10852783B2 (en) 2018-04-11 2020-12-01 Dell Products, Lp Relative height adjustable connector system for motherboard to graphics board transition with a plating alternative in information handling systems
US10254793B1 (en) 2018-04-11 2019-04-09 Dell Products, Lp Adaptable graphics board form factor with adjacent orientation to a motherboard for use with plural external I/O requirements in information handling systems
US10852784B2 (en) 2018-04-11 2020-12-01 Dell Products, Lp Relative height adjustable connector system for motherboard to graphics board transition in information handling systems
US10649505B2 (en) 2018-04-11 2020-05-12 Dell Products, Lp Adaptable graphics board with a reconfigurable I/O module board for use in information handling systems
US11231949B2 (en) 2018-07-27 2022-01-25 Vmware, Inc. Using cache coherent FPGAS to accelerate post-copy migration
US11099871B2 (en) 2018-07-27 2021-08-24 Vmware, Inc. Using cache coherent FPGAS to accelerate live migration of virtual machines
US11126464B2 (en) 2018-07-27 2021-09-21 Vmware, Inc. Using cache coherent FPGAS to accelerate remote memory write-back
US11947458B2 (en) * 2018-07-27 2024-04-02 Vmware, Inc. Using cache coherent FPGAS to track dirty cache lines
US10761984B2 (en) 2018-07-27 2020-09-01 Vmware, Inc. Using cache coherent FPGAS to accelerate remote access
US20230251980A1 (en) * 2022-02-10 2023-08-10 Mellanox Technologies, Ltd. Devices, methods, and systems for disaggregated memory resources in a computing environment

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6133546A (ja) * 1984-07-25 1986-02-17 Nec Corp 情報処理装置
IT1230238B (it) * 1989-06-08 1991-10-18 Bull Hn Information Syst Adattatore di interfaccia da vme a multibus ii.
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
US5412795A (en) * 1992-02-25 1995-05-02 Micral, Inc. State machine having a variable timing mechanism for varying the duration of logical output states of the state machine based on variation in the clock frequency
US5490279A (en) * 1993-05-21 1996-02-06 Intel Corporation Method and apparatus for operating a single CPU computer system as a multiprocessor system
US5586270A (en) * 1993-09-30 1996-12-17 Intel Corporation Method and apparatus for upgrading a central processing unit and existing memory structure in a computer system
TW400483B (en) * 1994-03-01 2000-08-01 Intel Corp High performance symmetric arbitration protocol with support for I/O requirements
AU1989395A (en) * 1994-03-14 1995-10-03 Apple Computer, Inc. A peripheral processor card for upgrading a computer
AU3143395A (en) * 1994-07-21 1996-02-22 Apple Computer, Inc. Method for semaphore communication between incompatible bus locking architectures
US5555510A (en) * 1994-08-02 1996-09-10 Intel Corporation Automatic computer card insertion and removal algorithm

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072063B2 (en) 2000-09-11 2006-07-04 Canon Kabushiki Kaisha Information processing apparatus and system, method of controlling same, peripheral apparatus and printer driver
US7095520B2 (en) 2000-09-11 2006-08-22 Canon Kabushiki Kaisha Information processing apparatus and system, information processing method and device driver
US7126709B2 (en) 2000-09-11 2006-10-24 Canon Kabushiki Kaisha Printing control apparatus and system, method of controlling same, printing apparatus and printer driver
US7162620B2 (en) 2002-03-13 2007-01-09 Sony Computer Entertainment Inc. Methods and apparatus for multi-processing execution of computer instructions

Also Published As

Publication number Publication date
DE69733384D1 (de) 2005-07-07
JPH113313A (ja) 1999-01-06
EP0817089B1 (en) 2005-06-01
CN1176434A (zh) 1998-03-18
MY114584A (en) 2002-11-30
BR9703861A (pt) 1998-09-08
DE69733384T2 (de) 2006-04-27
EP0817089A2 (en) 1998-01-07
EP0817089A3 (en) 1998-01-21
US5764934A (en) 1998-06-09
CZ211097A3 (cs) 1998-03-18

Similar Documents

Publication Publication Date Title
KR980010805A (ko) 범용 컴퓨터 구조용 프로세서 서브시스템
KR100263633B1 (ko) 각종프로세서와버스프로토콜에적용가능한범용구조를제공하는컴퓨터시스템
US6681283B1 (en) Coherent data apparatus for an on-chip split transaction system bus
US5524235A (en) System for arbitrating access to memory with dynamic priority assignment
US6353877B1 (en) Performance optimization and system bus duty cycle reduction by I/O bridge partial cache line write
US4843542A (en) Virtual memory cache for use in multi-processing systems
KR100360064B1 (ko) 고도로파이프라인된버스구조
US5528764A (en) Bus system with cache snooping signals having a turnaround time between agents driving the bus for keeping the bus from floating for an extended period
US5953538A (en) Method and apparatus providing DMA transfers between devices coupled to different host bus bridges
US5414820A (en) Crossing transfers for maximizing the effective bandwidth in a dual-bus architecture
US6112016A (en) Method and apparatus for sharing a signal line between agents
US6021456A (en) Method for communicating interrupt data structure in a multi-processor computer system
US5319766A (en) Duplicate tag store for a processor having primary and backup cache memories in a multiprocessor computer system
US6732208B1 (en) Low latency system bus interface for multi-master processing environments
US5991819A (en) Dual-ported memory controller which maintains cache coherency using a memory line status table
US5919254A (en) Method and apparatus for switching between source-synchronous and common clock data transfer modes in a multiple processing system
US6449677B1 (en) Method and apparatus for multiplexing and demultiplexing addresses of registered peripheral interconnect apparatus
JPH0810446B2 (ja) バスの競合を解決するための裁定手段
EP0898227A1 (en) Semaphore in system I/O space
US6487621B1 (en) Architecture, system and method for ensuring an ordered transaction on at least one of a plurality of multi-processor buses that experience a hit-to-modified snoop cycle
US5845107A (en) Signaling protocol conversion between a processor and a high-performance system bus
US5933613A (en) Computer system and inter-bus control circuit
Bryg et al. A high-performance, low-cost multiprocessor bus for workstations and midrange servers
CN100552647C (zh) 具有多阶快取架构的处理模块
KR920004401B1 (ko) 디지탈 데이타 프로세싱 시스템내의 프로세서와 특수명령 프로세서간의 인터페이스

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application