KR0167817B1 - 브리지 및 컴퓨터 시스템 - Google Patents

브리지 및 컴퓨터 시스템 Download PDF

Info

Publication number
KR0167817B1
KR0167817B1 KR1019950044781A KR19950044781A KR0167817B1 KR 0167817 B1 KR0167817 B1 KR 0167817B1 KR 1019950044781 A KR1019950044781 A KR 1019950044781A KR 19950044781 A KR19950044781 A KR 19950044781A KR 0167817 B1 KR0167817 B1 KR 0167817B1
Authority
KR
South Korea
Prior art keywords
address
bus
master
pci
slave
Prior art date
Application number
KR1019950044781A
Other languages
English (en)
Other versions
KR960018949A (ko
Inventor
쿠릭 아미
알란 월 윌리엄
알. 크로닌 3세 다니엘
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 KR960018949A publication Critical patent/KR960018949A/ko
Application granted granted Critical
Publication of KR0167817B1 publication Critical patent/KR0167817B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/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)
  • Quality & Reliability (AREA)
  • Bus Control (AREA)
  • Detection And Correction Of Errors (AREA)
  • Debugging And Monitoring (AREA)

Abstract

본 발명은 컴퓨터 시스템에서 PCI와 ISA 버스사이에 접속된 주변장치 제어기 상호접속/산업 표준 구조(PCI/ISA) 브리지에 관한 것이다. 시스템내의 PCI 마스터는 PCI 버스상에 어드레스 및 어드레스 패리티 정보를 단정하여 제1버스를 거쳐서 마스터-슬래이브 트랜잭션을 시작한다. 브리지는 어드레스와 어드레스 정보를 비교하여 어드레스 패리티 에러가 존재할 때 어드레스 패리티 에러 신호를 발생하는 로직을 포함한다. 브리지는 또한, PCI 슬래이브가 장치 선택 신호를 단정하므로써 이미 요구된 어드레스를 갖는다면, 어드레스 패리티 에러 신호를 수신하고 이에 응답하여 타겟 중지 신호를 발생하는 PCI 슬래이브를 포함한다. 브리지는 또한, 어드레스 패리티 에러 신호 및 장치 선택 신호를 수신할 때 마다, 타겟 중지 신호가 PCI 버스상으로 전파되는 것을 차단하는 로직을 포함한다. 이로 인해, 마스터가 마스터 중지 동작을 수행하는 것이 허용되며, 어드레스 패리티 에러가 존재할 때 브리지상의 PCI 슬래이브가 타겟 중지를 수행하는 것을 차단하는 것이 허용된다.

Description

브리지 및 컴퓨터 시스템
제1도는 본 발명에 따른 컴퓨터 시스템의 컴퓨터의 사시도.
제2도는 본 발명의 바람직한 실시예에 따라 구성된 제1도에 도시된 컴퓨터 시스템의 블럭도.
제3도는 본 발명의 바람직한 실시예에 따라 구성된 브리지의 어드레스 패리티 에러 및 PCI 신호 발생 요소의 블럭도.
제4도는 본 발명의 방법에 따라 외부 PCI 마스터 중지가 내부 PCI 타겟 중지로 부터 형성되는, 어드레스 패리티 에러 응답의 타이밍 도.
* 도면의 주요부분에 대한 부호의 설명
10 : 통상적인 컴퓨터 혹은 PC 12 : 콘솔 하우징
14 : 비디오 디스플레이 16 : 키보드
18 : 케이블 20, 22 : CD-롬 드라이브
30 : PCI 버스 32 : ISA 버스
34 : 브리지 칩 36 : ISA 마스터
38 : ISA 슬래이브 40 : PCI 슬래이브
42 : PCI 마스터 46 : PCI 인터페이스
50 : DMA
60 : 어드레스 패리티 에러 및 신호 발생 로직
62 : PCI 슬래이브
본 발명은 디지털 컴퓨터 시스템(digital computer systems)분야에 관한 것으로, 특히 PCI 버스상의 마스터-슬래이브 트랜잭션(master-slave transactions)에 관한 것이다.
컴퓨터 시스템에서, 전자 칩(electronic chips) 및 다른 구성 요소(components)는 버스에 의해 서로 접속된다. 각종 구성 요소가 자신에 접속된 모든 장치 사이에 상호 접속을 제공하는 버스에 제공될 수 있다. 업계에서 널리 사용되는 버스의 한 유형은 ISA(industry standard architecture) 버스이다. ISA 버스는 24개의 메모리 어드레스 라인을 구비하여, 16메카바이트(megabyte)의 메모리까지 지원할 수 있다. ISA 버스가 널리 사용됨에 따라 다수의 장치가 ISA 버스상에서 사용되기에 적당하게 설계되었다. 그러나, 컴퓨터 시스템에서 통상적으로 사용된 비디오 제어기와 같은 고속의 입/출력 장치는 더욱 빠른 버스를 필요로 한다.
프로세서로부터 임의의 고속 입력 장치(high-speed input device)로 데이타를 전송하고 수신함에 있어서 발생하는 일반적인 문제점에 대한 해법으로 지역 버스(local bus)가 제공되기도 한다. 제한된 대역폭을 가지고 비교적 저속으로 동작하는 ISA 버스와는 달리, 지역 버스는 시스템 속도로 통신하며, 데이타를 32비트 블럭으로 전송한다. 지역 버스 방안은 메모리, 디스플레이 및 디스크 드라이브와 같은 빠른 응답을 필요로 하는 인터페이스를 주 시스템(main system)으로 부터 제거한다. 업계에서 널리 사용되는 이러한 지역 버스중의 하나는 PCI(peripheral component interconnecti) 버스이다. PCI 버스는 고속 데이타 전송을 위해 32비트 혹은 64비트의 전송 경로를 구비할 수 있다. 본질적으로, PCI 버스는 ISA 버스에 부가적으로 제공된 병렬 데이타 전송(parallel data path)이다. 시스템 프로세서 및 메모리는 예를 들면 PCI 버스에 직접적으로 혹은 (호스트 브리지(host bridge)를 통해서) 간접적으로 부착될 수 있다. 그래픽 디스플레이 어댑터(graphic display adapters), 디스크 제어기(disk controllers), 사운드 카드(sound cards) 등과 같은 다른 장치도 PCI 버스에 직접적으로 부착될 수 있다.
두 버스상에서 존재하는 장치 사이의 통신을 제공하기 위해 브리지 칩(bridge chip)이 PCI 버스와 ISA 버스 사이에 제공된다. 브리지 칩은 본질적으로 ISA 버스 사이클을 PCI 버스 사이클로 변환(translate)하며, 또한 이의 역 동작도 수행한다.
PCI 버스 및 ISA 버스에 부착된 다수의 장치는 마스터 장치(master devices)로서, 이들 장치는 버스 혹은 다른 장치와는 독립적으로 프로세싱을 수행할 수 있다. 버스에 접속된 임의의 장치는, 커맨드를 수용하고 마스터의 요구에 응답하는 슬래이브 혹은 타겟으로 간주된다. (이하 참조로서 인용되는) PCI 명세(PCI specification)에서 설명한 PCI 프로토콜에 따르면, PCI 슬래이브는 자신과의 트랜잭션을 요구하는 마스터에게 소정의 사전결정된 시간주기내에 응답을 하여야한다. 예를 들면, PCI 슬래이브는 PCI 마스터가 프래임 신호를 단정(assesrt)한 후 5 클럭내에 응답을 해야한다.
정규 PCI 트랜잭션에서, PCI 마스터는 어드레스 신호 및 어드레스 패리티 정보(address parity information)와 함께 프레임 신호(FRAME#)를 단정할 것이다. PCI 버스에 접속된 PCI 슬래이브는 PCI 버스상에서 프레임 신호를 검출한 후 어드레스를 디코드하여 자신이 PCI 마스터에 의해 어드레스되고 있는지를 판정할 것이다. PCI 슬래이브가 자신이 마스터에 의해 어드레스되고 있따고 판정하면, PCI 슬래이브는 장치 선택 신호(device select signal : DEVSEL#)를 단정하여 사이클을 요구할 것이다. 그러나, 동시에 슬래이브는 패리티 어들스 정보를 PCI 마스터에 의해 단정된 어드레스와 비교한다. 어드레스 정보 에러가 이러한 PCI 슬래이브에 의해 검출되면, PCI 슬래이브는 마스터 중지(master abort)를 수행하거나, 장치 선택 신호를 단정해제(deasserting)하고 중단 신호(stop signal)를 단정하므로써 타겟 중지(target-abort)를 수행하거나, 혹은 패리티 에러(parity error)를 무시할 것이다. 타겟 중지는, 마스터가 상이한 슬래이브와 함께 트랜잭션을 수행하도록 의도되어 이 상이한 슬래이브가 상기 트랜잭션에 응답할 수 있더라도 마스터 슬래이브 트랜잭션 사이클을 종료시킬 것이다.
PCI 마스터가 FRAME#을 단정한 이후 소정의 시간 주기 이내에 PCI 슬래이브로 부터 장치 선택 신호 DEVSEL#을 수신하지 못하였을 때 PCI 마스터는 마스터 중지를 수행할 수 있다. 사전결정된 시간 주기는 예를 들면 FRAME# 단정이후의 5 클럭 사이클이 될 수 있다. 장치 선택 신호 DEVSEL# 수신을 실패하였다는 것은, 어떠한 PCI 슬래이브도 사이클을 요구하지 않았으며, 따라서 PCI 마스터는 마스터 슬래이브 트랜잭션 사이클을 효과적으로 종료시킬 것이라는 것을 나타낸다.
PCI 버스와 ISA 버스 사이의 브리지 칩 인터페이싱은 PCI 슬래이브로서 동작하는 구성 요소를 포함하도록 구성될 수 있다. 그러나, 이러한 배열이 가지고 있는 문제점은, 브리지 칩상의 PCI 슬래이브는 PCI 버스 프로토콜에 의해 정의된 시간제한내에 PCI 버스상에서 FRAME#에 응답해야 한다는 것이다. 이는 브리지 칩이 상대적으로 저속의 칩일 때 특히 다루기 힘들어 진다. 지정된 시간 주기내에 PCI 마스터에 대한 응답을 제공하기 위해, 브리지 칩내의 PCI 슬래이브는 FRAME# 신호를 수신한 이후의 클럭 사이클내에 장치 선택 신호를 단정하므로써 고속 PCI 버스 및 PCI 마스터에게 장치 선택 신호 DEVSEL#를 단정한다. 일단 장치 선택 신호 DEVSEL#이 PCI 슬래이브에 의해 단정되면, 마스터 중지 종료는 불가능하며, 단지 타겟 중지만 가능하다.
그러나, 패리티 에러에 기인하여, 브리지 칩내의 PCI 슬래이브가 이 마스터 슬래이브 트랜잭션에 대한 PCI 마스터의 타겟으로 의도되지 않을 수도 있다. 이러한 경우, 타겟 중지는 적절치 않은데, 그 이유는 이 마스터 슬래이브 트랜잭션이 아마도 여전히 어드레스를 요구하고 있을 수 있는 다른 슬래이브에 대해 의도된 것이기 때문이다. 따라서, 브리지는 PCI 마스터에 의해 제공된 어드레스 및 어드레스 패리티 정보를 사용하여 어드레스 패리티 에러 검사를 수행한다. 어드레스 패리티 에러가 존재한다고 브리지가 판정하면, 브리지는 브리지내의 PCI 슬래이브로 어드레스 패리티 에러 신호를 제공할 것이다. 그러나, PCI 프로토콜에 의해 요구되는 빠른 응답으로 인해, PCI 슬래이브는 브리지가 어드레스 패리티 에러에 대한 검사를 수행하여 브리지상의 PCI 슬래이브에게 어드레스 패리티 에러 신호를 제공하기 전의 시간 주기내에 장치 선택 신호 DEVSEL#를 단정할 필요가 있게 된다. 따라서, PCI 트랜잭션에 대한 사전결정된 시간 주기내에 마스터에게 응답할 수 있도록 PCI 슬래이브에 의해 내부적으로 장치 선택 신호 DEVSEL#를 단정하여야 하고, 또한 다른 슬래이브가 의도된 타겟일 수도 있으므로 브리지내의 PCI 슬래이브가 PCI 버스상에 타겟 중지를 발생하지 못하도록 하여야 한다는 요건에 의해 딜레마가 발생한다.
어드레스 패리티 에러에 응답하여 타겟 중지가 PCI 버스상에 발생되도록 요구하지 않고, PCI 마스터에 의해 단정된 프레임 신호에 사전결정된 시간내에 응답하는 PCI 슬래이브를 구비한 PCI 브리지를 사용하는 시스템 및 방법에 대한 필요성이 존재한다.
이들 필요성 및 다른 필요성은 본 발명에 의해 충족된다. 본 발명은 제1 및 제2버스를 구비한 컴퓨터 시스템의 버스 인터페이싱용 브리지와, 어드레스 및 버스상에 어드레스 패리티 정보를 단정하여 제1버스를 통한 마스터 슬래이브 트랜잭션을 시작하는 제1버스에 접속된 마스터를 제공한다. 브리지는 어드레스와 어드레스 패리티 정보를 비교하여 패리티 어드레스 에러가 존재할 때 어드레스 패리티 에러 신호를 발생하는 로직(logic)을 포함한다. 브리지내의 슬래이브는 패리티 어드레스 에러 신호를 수신하고 이에 응답하여 타겟 중지 신호를 발생한다. 브리지는 또한 타겟 중지 신호가 제1버스로 전파되는 것을 차단하는 로직을 포함한다.
전술한 필요성은 제1 및 제2버스를 포함하고 제1버스상에 어드레스 및 패리티 정보를 단정하여 제1버스를 통해 마스터 슬래이브 트랜잭션을 시작하는 제1버스에 접속된 마스터를 또한 포함하는 컴퓨터 시스템을 제공하는 본 발명의 또 다른 실시예에 의해서도 충족된다. 브리지는 제1 및 제2버스 사이에 접속된다. 이 브리지는 어드레스 및 패리티 정보를 비교하여 어드레스 패리티 에러가 존재할 때 어드레스 패리티 에러 신호를 발생하는 로직을 포함한다. 브리지는 또한 어드레스 패리티 에러 신호를 수신하고 이에 응답하여 타겟 중지 신호를 발생하는 슬래이브 및 타겟 중지 신호가 제1버스로 전파되는 것을 차단하는 로직을 포함한다.
바람직한 실시예에서, 제1버스는 PCI 버스이며 마스터는 PCI 마스터이고 슬래이브는 PCI 슬래이브이다.
본 발명은 브리지내의 PCI 슬래이브가 PCI 버스 프로토콜에 의해 지정된 시간 주기내에 응답할 수 있는 장점을 갖는다. 왜냐하면, 어드레스 패리티 에러가 존재하는지의 판정 및 어드레스 패리티 에러가 존재할 경우에 브리지 칩 회부로 타겟 중지 신호(장치 선택 신호 및 중단 신호)가 전파되는 것을 차단하는 동작이 동시에 수행되기 때문이다.
본 발명의 전술한 목적 및 다른 목적, 특징, 측면 및 장점은 첨부된 도면과 함께 이하 개시되는 본 발명의 상세한 설명에서 더욱 명백히 이해될 것이다.
제1도를 참조하면, 본 발명이 특히 유용하게 쓰일 수 있는 환경인 종래의 컴퓨터 혹은 PC(10)가 도시되어 있다. 컴퓨터(10)는 반드시 그러한 것은 아니지만 바람직하게는 IBM 퍼스널 컴퓨터 혹은 유사한 시스템을 활용하는 유형이며, 콘솔 하우징(console housing)(12)을 포함한다. 이 콘솔 하우징에는 마이크로프로세서 및 BIOS 칩을 비롯하여 필요한 회로가 구비된 회로 보드(circuit board), 제어기(controllers), 랜덤 액세스 메모리(random access memory) 및 다른 하드웨어가 배열된다. 컴퓨터는 또한 비디오 디스플레이(14) 및 케이블(18)을 통해 콘솔 하우징에 접속된 키보드(16)를 포함한다. 대량 저장 매체는 사용자가 액세스 할 수 있는 하우징내의 하드 디스크 드라이브, 사용자가 액세스할 수 있는 플로피 디스크 및 옵션으로 CD-롬 드라이브(20, 22)를 포함한다.
제2도에는 본 발명의 바람직한 실시예에 따라 구성된 컴퓨터 시스템의 블럭도가 도시되어 있다. 이 시스템은 PCI 버스(30) 및 다수의 ISA 마스터(36) 및 ISA 슬래이브(38)를 갖는 ISA버스(32)를 포함한다. 다수의 PCI 메모리 슬래이브(40)는 PCI 버스(30)에 접속된다.
브리지 칩(34)은 ISA 버스(32)와 시스템 버스(44) 사이에 접속된 ISA 인터페이스(42)를 포함한다. PCI 인터페이스(46)는 PCI 버스(30)와 시스템 버스(44) 사이에 제공된다. 브리지 칩(34)은 또한 DMA 제어기(50), 프로그램가능한 입/출력(programmable I/O : PIO) 레지스터(52), 어드레스 패리티 에러 및 PCI 신호 발생 로직(60)을 포함함 이들 장치는 이하 개시될 것이다. DMA 제어기(50)는 ISA 버스(32)에 접속된다. 브리지 칩(34)은 PCI 버스와 ISA 버스(32) 사이에 인터페이스를 제공한다.
브리지 칩(34)내의 ISA 버스 인터페이스(42)는 ISA 버스 사이클을 브리지 칩(34)이 사용할 수 있도록 시스템 버스 사이클로 변환한다. PCI 버스 인터페이스(46)는 PCI 버스(30)의 PCI 버스 사이클을 브리지 칩(34)을 위해 시스템 버스 사이클로 변환한다. DMA 제어기는 시스템 내에서의 메모리 액세스의 DMA 제어를 제어한다. DMA 제어기(50)는 개별적인 ISA 마스터와 관련된 메모리 액세스가 제각기 통신되는 다수의 분리된 DMA 채널을 제공한다.
DMA 제어기(50)는 ISA 버스(32)상의 버스 마스터로서 동작하기 때문에, DMA 제어기(50) 혹은 ISA 버스 마스터(36) 중의 하나의 장치가 전송 사이클(transfer cycles)을 발생할 수 있다. ISA 마스터(36) 및 DMA 제어기(50) 모두가 ISA 버스(32) 혹은 PCI 버스(32) 상에 위치한 메모리를 액세스할 수 있다. 그러나 이하의 설명을 용이하게 하기 위해, 본 발명의 실시예는 ISA 버스가 전송 사이클을 발생하는 것으로 기술할 것이다. ISA버스가 전송 사이클을 발생할 때, DMA 제어기(50)는 중재 장치로서 동작할 것이다.
제3도에는 제2도의 시스템의 브리지 칩(34)에서 도시된 어드레스 패리티 에러 및 신호 발생 로직(60)의 블럭도가 도시되어 있다. 로직(60)은 본 실시예에서 내부 래치된 PCI 버스(63)에 접속된 다수의 PCI 슬래이브(62)를 포함한다. 내부 PCI 입력 및 출력 래치 및 PCI 인터페이스 로직(64)(이하 PCI 래치 및 인터페이스 로직(64)으로 칭해짐)은 PCI 버스와 내부 래치된 PCI 버스(63) 사이에 접속된다. PCI 래치 및 인터페이스 로직(64)은 PCI 버스(30) 및 내부 래치된 PCI 버스(63)로 부터 신호를 수신하여 이들 신호를 브리지(34) 및 로직(60)이 사용할 수 있도록 래치한다. PCI 버스(30)는 고속으로 동작하고 저속 기법으로 구현된 PCI 슬래이브(62)는 래치되지 않은 신호와는 신뢰성있게 동작할 수 없으므로, 래치가 요구된다.
PCI 래치 및 인터페이스 로직(64)은 PCI 버스(30)로 부터 어드레스 신호, 프레임 신호(FRAME#), IRDY#(개시자(initiator)준비) 신호를 수신하다. 로직(64)은 장치 선택 신호(DEVSEL#), 중단 신호(STOP#) 및 타겟 준비 신호(TRDY#)를 전송한다. 이들 신호 각각의 래치된 버전은 내부 래치된 PCI 버스(63)상으로 전송된다.
PCI 버스(30)의 어드레스는 또한 어드레스 패리티 발생기 및 검사 로직(66)에 의해 수신된다. 래치되지 않은 어드레스에 부가하여, 어드레스 패리티 발생기 및 검사 로직(66)은 PCI 버스(30)로 부터 래치되지 않은 패리티 정보를 수신한다. 래치되지 않은 패리티 어드레스 정보 및 검사 로직(66)(이하 검사 로직(66)으로 칭해짐)은 내부 브리지 어드레스 에러 신호(PIB_ADD_ERR)의 레벨을 변화시킨다. 이 신호는 분리된 래치(68)에서 래치되어, PCI 스래이브(62)에 사용가능하게 된다.
어드레스 패리티 에러 및 PCI 신호 발생 로직(60)의 기본적인 동작이 이하 개시되며, 타이밍 도를 포함하는 패리티 에러 응답에 대한 보다 상세한 설명이 또한 개시된다.
마스터(42)가 PCI 슬래이브(62)중의 하나와 마스터 슬래이브 트랜잭션을 수행하길 원할 때, 마스터(424)는 PCI버스(30)상으로 FRAME#, 어드레스 및 어드레스 패리티 정보를 단정한다. 브리지(34)상의 어드레스 패리티 에러 및 PCI 신호 발생 로직(60)은 내부 PCI 래치 및 인터페이스 로직(64)내에 칩(34)에서의 사용을 위해 래치된 FRAME# 및 어드레스 정보를 수신한다. 래치된 FRAME# 및 어드레스 신호는 내부 PCI버스(63)상에 위치되어 PCI 슬래이브(62)에 사용가능하게 된다. PCI 슬래이브(62)는 래치된 어드레스를 디코드하고 특정 PCI 슬래이브(62)가 마스터(42)에 응답하여야 하는지를 판정한다. PCI슬래이브(62)중의 디코딩이 이 특정 PCI 슬래이브(62)가 응답한다는 것을 나타낸다고 가정하면, 내부 래치된 PCI 버스(63)상으로 장치 선택 신호 DEVSEL#를 단정할 것이다. 내부 PCI 래치 및 인터페이스 로직(64)은 PCI 버스(30)상으로 장치 선택 신호 DEVSEL#을 단정하고, 이 신호는 마스터(42)에 의해 수신된다. 특정 트랜잭션은 이후 IDDY# 및 TRDY# 모두 단정되었을 때 수행된다.
전술한 동작 설명 모두는 어드레스 및 어드레스 패리티 정보 검사가 어드레스 패리티 에러 신호의 발생을 야기하지 않았다는 가정하에 기술되었다. 이 검사는 어드레스가 PCI 슬래이브(62)에 의해 디코드될 때와 동시에 수행된다.
그러나, 이제 검사 로직(66)에 의해 수행된 어드레스 패리티 정보 검사에 의해 하나의 어드레스 패리티 에러가 검출되었다고 가정하자. 또한, PCI 슬래이브(62)중의 하나가 DEVSEL#을 단정하므로써 어드레스를 요구하였다고 가정하자. 검사 로직(66)은 내부 브리지 어드레스 패리티 에러 신호(PIB_ADD_ERR)를 단정하며, 이 신호는 래치(68)에 의해 래치된다. 래치된 어드레스 패리티 에러 신호는 PCI 슬래이브(62)로 전송된다. 어드레스를 요구한 PCI 슬래이브(62)는 이후 마스터 슬래이브 트랜잭션의 타겟 중지를 수행한다. 이러한 동작은 PCI 슬래이브(62)에 의한 장치 선택 신호 DEVSEL#의 단정해제 및 중단 신호 STOP#의 단정에 의해 성취된다. 래치된 내부 브리지 어드레스 패리티 에러 신호가 내부 PCI 래치 및 내부 로직(64)에 제공되며, 이 로직은 또한 장치 선택 신호를 수신한 바 있다. 내부 PCI 래치 및 인터페이스 로직(64)이 래치된 어드레스 패리티 에러 신호 및 장치 선택 신호 DEVSEL# 모두를 수신한 경우, 로직(64)은 장치 선택 신호 DEVSEL# 및 슬래이브 중단 신호 STOP# 모두를 PCI 버스(30)로 전송되지 못하게 차단한다. 따라서, 타겟 중지는 PCI 버스(30)상에서 마스터(42)에 의해 검출되지 않는다. PCI 버스(30)상의 다른 어떠한 슬래이브도, 마스터(42)가 FRAME#을 단정한 이후 사전결정된 시간내에 장치 선태 신호 DEVSEL#을 단정하므로써 어드레스를 요구하지 않는다면, 마스터(42)는 마스터 중지를 수행할 것이다.
장치 선택 신호 DEVSEL# 단정은, 래치되지 않은 내부 브리지 어드레스 패리티 에러 정보가 디코드될 때까지 PCI 슬래이브(62)에 의해 지연될 수는 없다는 것을 인식하여야 한다. 왜냐하면, PCI 버스 프로토콜은, PCI 슬래이브(62)가 내부적으로 (FRAME#의 단정 이후 제1클럭내에) 고속 응답으로 응답하여, (FRAME#의 단정 이후 제3클럭내의) 저속 응답인 외부 응답이 PCI 버스 프로토콜의 시간 제한내에 가능하도록 할 것을 요구하기 때문이다.
본 발명의 배열에 의한 어드레스 패리티 에러 응답의 좀 더 상세한 설명이 제4도의 타이밍 도를 참조하여 이하 개시된다.
마스터(42)는 클럭 1에서 프레임 신호 FRAME# 및 어드레스 정보를 단정한다. 이 정보는 클럭 2에서 PCI 래치 및 인터페이스 로직(64)에 의해 래치된다. 클럭 2동안, 어드레스 패리티 정보는 마스터(42)로 부터 수신된다. 이 정보는 클럭 2동안 검사 로직(66) 의해 어드레스와 비교된다. 검사 로직(66)이 패리티 정보를 검사하는 것과 동시에, PCI 슬래이브(62)는 단정되어 래치된 FRAME#을 인식하여 래치된 어드레스를 디코드한다.
본 실시예에서는, 검사 로직(66)에 의한 어드레스 패리티 정보와 어드레스의 비교에 의해, 하나의 어드레서 패리티 에러가 발견된다. 따라서, 검사 로직(66)은 클럭 2의 종료부에서 내부 브리지 어드레스 패리티 에러 신호(PIB_ADD_ERR)를 발생한다. 이 신호는 클럭 3에서 래치된다(LATCHED PIB_ADD_ERR). 그러나 어드레스를 디코드한 PCI 슬래이브(62)는 장치 선택 신호 DEVSEL#를 단정하므로써 PCI 버스(30)의 타이밍 요건을 충족시키기 위해 클럭 3에서 래치된 FRAME#에 응답한다. 따라서, PCI 슬래이브(62)는 래치된 FRAME#의 수신 이후에 하나의 사이클내에서 응답하기 때문에 내부적으로 고속 PCI 슬래이브로서 동작한다. 그러나, 프레임 신호 FRAME#의 단정이후 3사이클에서 (어드레스 패리티 에러가 존재하지 않을 때) 슬래이브(62)로 부터 장치 선택 신호 DEVSEL#를 수신하는 PCI 마스터(42)에게는, PCI 슬래이브(62)는 저속 슬래이브로서 동작한다.
클럭 사이클(4)에 이르러, PCI 스래이브(62)는 래치된 어드레스 패리티 에러 신호(PIB_ADD_ERR 신호)를 인식하고, 장치 선택 신호 DEVSEL#을 단정해제하고 중단 신호 STOP#를 단정하므로써 내부 타겟 중지를 수행한다. 이는 PCI 슬래이브(62)가 마스터 슬래이브 트랜잭션을 수행하는 것을 효과적으로 중단시킨다. PCI 래치 및 인터페이스 로직(64)은 장치 선택 신호 DEVSEL# 및 중단 신호 STOP#가 PCI 버스(30)상으로 타겟 중지로서 전파되는 것을 차단한다. 마스터(42)에 의해 인식될 수 있는 PCI 래치 및 인터페이스 로직(64)은, 래치(68)로부터의 래치된 PIB_ADD_ERR 및 PCI 슬래이브(62)에 의해 단정된 장치 선택 신호 DEVSEL#의 수신에 응답하여 DEVSEL# 및 STOP#을 차단한다. 외부적으로는, 제4도에서의 마스크된 신호(masked signals)에서 도시된 바와 같이, PCI 장치 선택 신호 DEVSEL#는 (하이 레벨에서) 단정해제된 채로 잔존하며, PCI 중단 신호 STOP#도 또한 단정해재된 채로 남게된다. PCI 버스(30)상의 또 다른 슬래이브가 어드레스를 요구할 수 있거나 혹은, 외부 PCI 마스터(42)가 PCI 버스(30)상의 슬래이브로 부터 장치 선택 신호 DEVSEL#을 수신하지 못할 경우, 마스터 중지를 수행할 것이다.
본 발명을 이용하지 않는다면, PCI 장치 선택 신호 DEVSEL#는 제4도의 하단부에서 마스크되지 않은 신호에 의해 도시된 바와 같이 PCI 버스(30)상에 단정될 것이며, 이후 클럭 5에서 PCI 중단 신호 STOP#가 단정될 것이다. 이는 바람직하지 않게 PCI 버스(30)상의 타겟 중지 동작을 강요할 것이다.
본 발명의 시스템 및 방법에 의하면, 비록 타겟 중지 메카니즘이 내부적으로 기술/타이밍 요건을 충족시키기 위해 사용되더라도, 필요한 어드레스 패리티 에러의 마스터-중지 종료(master-abort termination)가 브리지 칩(34)에 의해 수행될 것이다. 이는, 가능한 다른 기법에 비해 더 저속이고 더 경제적인 기법에 의해 브리지 칩이 제조될 수 있도록 해준다.
래치된 패리티 내부 브리지 어드레스 패리티 에러 정보 신호로부터 내부적으로 발생된 타겟-중지는 최악의 경제 조건에서, 내부 PCI 슬래이브(62)가 적절한 상태 머신 제어(proper state machine control)를 보장할 것임을 보증한다. 내부적으로 마스터-중지를 수행하기 위해 래치되지 않은 어드레스 패리티 에러 신호가 사용된다면, 최악의 조건하에서 예측할 수 없는 동작을 발생시킬 수 있다.
이상 본 발명이 바람직한 실시예에 따라 구체적으로 설명되었지만, 본 발명은 상기 실시예에 한정되는 것은 아니며, 그 사상 및 범주를 이탈하지 않는 범위내에서 여러 가지로 변경 가능함은 물론이다.

Claims (12)

  1. 제1버스 및 제2버스와, 상기 제1버스에 접속되고 어드레스(an address) 및 어드레스 패리티 정보(address parity information)를 상기 버스상에서 단정하여 상기 제1버스를 통한 마스터 슬래이브 트랜잭션(a master-slave transaction)을 시작하는 마스터(a master)를 갖는 컴퓨터 시스템의 버스 사이의 인터페이싱용 브리지(a bridge for interfacing)에 있어서, 상기 어드레스 및 상기 어드레스 패리티 정보를 비교하여 패리티 어드레스 에러(a parity address error)가 존재할 때, 어드레스 패리티 에러 신호(an address parity error signal)를 발생하는 로직(logic)과; 상기 패리티 어드레스 에러 신호를 수신하고 이에 응답하여 타겟 중지 신호(a target-abort signal)를 발생하는 슬래이브(a slave)와; 상기 타겟 중지 신호가 상기 제1버스로 전파(propagate)되는 것을 차단하는 로직을 포함하는 브리지.
  2. 제1항에 있어서, 상기 제1버스는 주변장치 제어기 상호접속 버스(a peripheral controller interconnect (PCI) bus)인 브리지.
  3. 제2항에 있어서, 상기 슬래이브는 상기 어드레스를 디코딩(decoding)하고, 상기 마스터에 장치 선택 신호(a device select signal)를 단정하며, 상기 디코드된 어드레스가 상기 슬래이브가 상기 제1버스상의 상기 마스터에 의해 어드레스되고 있음을 나타낼 때 상기 마스터와 더불어 상기 마스터 슬래이브 트랜잭션을 수행하는 로직을 구비하는 브리지.
  4. 제3항에 있어서, 상기 제2버스는 산업 표준 구조(industry standard architectute : ISA)버스인 브리지.
  5. 제4항에 있어서, 상기 어드레스 및 어드레스 패리티 에러 신호를 래칭하는 래치와 상기 래치된 어드레스를 디코딩하고 상기 래치된 어드레스 패리티 에러 신호에 응답하는 상기 슬래이브를 더 포함하는 브리지.
  6. 제5항에 있어서, 상기 타겟 중지 신호는 단정해제된 장치 선택 신호(a deasserted device select signal) 및 단정된 중단 신호(an asserted stop signal)를 포함하는 브리지.
  7. 제1버스 및 제2버스와; 상기 제1버스에 접속되고, 상기 버스상에서 어드레스 및 어드레스 패리티 정보를 단정하여 상기 제1버스를 통한 마스터 슬래이브 트랜잭션을 시작하는 마스터와; 상기 제1 및 상기 제2버스 사이에 접속되며, 상기 어드레스와 상기 어드레스 패리티 정보를 비교하여 패리티 어드레스 에러가 발생할 때 어드레스 패리티 에러 신호를 발생하는 로직과 상기 패리티 어드레스 에러 신호를 수신하고 이에 응답하여 타겟 중지 신호를 발생하는 슬래이브와 상기 타겟 중지 신호가 상기 제1버스로 전파되는 것을 차단하는 로직을 구비한 브리지를 포함하는 컴퓨터 시스템.
  8. 제7항에 있어서, 상기 제1버스는 주변장치 제어기 상호접속(PCI) 버스인 컴퓨터 시스템.
  9. 제8항에 있어서, 상기 슬래이브는 상기 어드레스를 디코딩(decoding)하고, 상기 마스터에 장치 선택 신호를 단정하며, 상기 디코드된 어드레스가 상기 슬래이브가 상기 제1버스상의 상기 마스터에 의해 어드레스되고 있음을 나타낼 때 상기 마스터와 더불어 상기 마스터 슬래이브 트랜잭션을 수행하는 로직을 구비하는 컴퓨터 시스템.
  10. 제9항에 있어서, 상기 마스터가 사전결정된 시간 주기(a predetermined time period)내에 상기 장치 선택 신호를 수신하지 못하였을 때, 상기 마스터는 마스터-중지를 수행하는 로직을 포함하는 컴퓨터 시스템.
  11. 제10항에 있어서, 상기 브리지는 상기 어드레스 및 상기 어드레스 패리티 에러 신호를 래칭하는 래치와, 상기 래치된 어드레스를 디코딩하고, 상기 래치된 어드레스 패리티 에러 신호에 응답하는 슬래이브를 더 포함하는 컴퓨터 시스템.
  12. 제11항에 있어서, 상기 타겟 중지 신호는 단정해제된 장치 선택 신호 및 단정된 중단 신호를 포함하는 컴퓨터 시스템.
KR1019950044781A 1994-11-30 1995-11-29 브리지 및 컴퓨터 시스템 KR0167817B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US35119494A 1994-11-30 1994-11-30
US8/351,194 1994-11-30
US08/351,194 1994-11-30

Publications (2)

Publication Number Publication Date
KR960018949A KR960018949A (ko) 1996-06-17
KR0167817B1 true KR0167817B1 (ko) 1999-01-15

Family

ID=23379968

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950044781A KR0167817B1 (ko) 1994-11-30 1995-11-29 브리지 및 컴퓨터 시스템

Country Status (11)

Country Link
US (1) US5724528A (ko)
EP (1) EP0795157B1 (ko)
JP (1) JP3251830B2 (ko)
KR (1) KR0167817B1 (ko)
CN (1) CN1086819C (ko)
BR (1) BR9505208A (ko)
CA (1) CA2160500C (ko)
CZ (1) CZ290956B6 (ko)
DE (1) DE69507715D1 (ko)
PL (1) PL180029B1 (ko)
WO (1) WO1996017302A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6519555B1 (en) * 1996-09-30 2003-02-11 International Business Machines Corporation Apparatus and method of allowing PCI v1.0 devices to work in PCI v2.0 compliant system
US5944808A (en) * 1997-01-31 1999-08-31 Sun Microsystems, Inc. Partial parity correction logic
KR100213187B1 (ko) 1997-03-20 1999-08-02 윤종용 에러 마스터 검출장치
US6108738A (en) * 1997-06-10 2000-08-22 Vlsi Technology, Inc. Multi-master PCI bus system within a single integrated circuit
EP0902372A1 (en) * 1997-09-13 1999-03-17 Ming-Cheng Lin PCI I/O interface card
US5983024A (en) * 1997-11-26 1999-11-09 Honeywell, Inc. Method and apparatus for robust data broadcast on a peripheral component interconnect bus
US6018810A (en) * 1997-12-12 2000-01-25 Compaq Computer Corporation Fault-tolerant interconnection means in a computer system
GB2332541B (en) * 1997-12-20 2002-12-04 Ibm Boot failure recovery system and method
KR100293950B1 (ko) * 1998-01-22 2001-08-07 윤종용 주변소자 내부연결 버스 모니터를 이용한 장애 감지 장치 및 방법
US6223299B1 (en) * 1998-05-04 2001-04-24 International Business Machines Corporation Enhanced error handling for I/O load/store operations to a PCI device via bad parity or zero byte enables
US6141757A (en) * 1998-06-22 2000-10-31 Motorola, Inc. Secure computer with bus monitoring system and methods
US6119191A (en) * 1998-09-01 2000-09-12 International Business Machines Corporation Performing PCI access cycles through PCI bridge hub routing
US6374318B1 (en) 1998-10-16 2002-04-16 Dell Usa, L.P. Filter-circuit for computer system bus
US6449678B1 (en) 1999-03-24 2002-09-10 International Business Machines Corporation Method and system for multiple read/write transactions across a bridge system
US6425023B1 (en) 1999-03-24 2002-07-23 International Business Machines Corporation Method and system for gathering and buffering sequential data for a transaction comprising multiple data access requests
US6502157B1 (en) 1999-03-24 2002-12-31 International Business Machines Corporation Method and system for perfetching data in a bridge system
US6286074B1 (en) 1999-03-24 2001-09-04 International Business Machines Corporation Method and system for reading prefetched data across a bridge system
US6769035B1 (en) 2000-04-07 2004-07-27 Infineon Technologies North America Corp. Same single board computer system operable as a system master and a bus target
US7120836B1 (en) * 2000-11-07 2006-10-10 Unisys Corporation System and method for increasing cache hit detection performance
US6898740B2 (en) * 2001-01-25 2005-05-24 Hewlett-Packard Development Company, L.P. Computer system having configurable core logic chipset for connection to a fault-tolerant accelerated graphics port bus and peripheral component interconnect bus
US7281171B2 (en) * 2003-01-14 2007-10-09 Hewlwtt-Packard Development Company, L.P. System and method of checking a computer system for proper operation
US20080148104A1 (en) * 2006-09-01 2008-06-19 Brinkman Michael G Detecting an Agent Generating a Parity Error on a PCI-Compatible Bus
JP5350677B2 (ja) * 2008-05-19 2013-11-27 株式会社東芝 バス信号制御回路、及び、バス信号制御回路を備えた信号処理回路
US9542251B2 (en) * 2013-10-30 2017-01-10 Oracle International Corporation Error detection on a low pin count bus
JP2019004205A (ja) * 2017-06-12 2019-01-10 株式会社村田製作所 転送装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB8828817D0 (en) * 1988-12-09 1989-01-18 Int Computers Ltd Data processing apparatus
US5325499A (en) * 1990-09-28 1994-06-28 Tandon Corporation Computer system including a write protection circuit for preventing illegal write operations and a write poster with improved memory
US5255374A (en) * 1992-01-02 1993-10-19 International Business Machines Corporation Bus interface logic for computer system having dual bus architecture
US5249188A (en) * 1991-08-26 1993-09-28 Ag Communication Systems Corporation Synchronizing two processors as an integral part of fault detection
US5313627A (en) * 1992-01-02 1994-05-17 International Business Machines Corp. Parity error detection and recovery
US5341480A (en) * 1992-04-09 1994-08-23 Apple Computer, Inc. Method and apparatus for providing a two conductor serial bus
US5392407A (en) * 1992-12-24 1995-02-21 Ncr Corporation Multi-port processor with peripheral component interconnect port and rambus port
US5404559A (en) * 1993-03-22 1995-04-04 Compaq Computer Corporation Apparatus for asserting an end of cycle signal to a processor bus in a computer system if a special cycle is detected on the processor bus without taking action on the special cycle
US5396602A (en) * 1993-05-28 1995-03-07 International Business Machines Corp. Arbitration logic for multiple bus computer system
US5499346A (en) * 1993-05-28 1996-03-12 International Business Machines Corporation Bus-to-bus bridge for a multiple bus information handling system that optimizes data transfers between a system bus and a peripheral bus
US5455915A (en) * 1993-12-16 1995-10-03 Intel Corporation Computer system with bridge circuitry having input/output multiplexers and third direct unidirectional path for data transfer between buses operating at different rates
US5471590A (en) * 1994-01-28 1995-11-28 Compaq Computer Corp. Bus master arbitration circuitry having improved prioritization

Also Published As

Publication number Publication date
DE69507715D1 (de) 1999-03-18
JP3251830B2 (ja) 2002-01-28
CN1086819C (zh) 2002-06-26
CZ9701560A3 (cs) 2002-05-15
EP0795157A1 (en) 1997-09-17
WO1996017302A1 (en) 1996-06-06
CN1151049A (zh) 1997-06-04
CZ290956B6 (cs) 2002-11-13
JPH08235104A (ja) 1996-09-13
PL180029B1 (pl) 2000-12-29
KR960018949A (ko) 1996-06-17
EP0795157B1 (en) 1999-02-03
CA2160500A1 (en) 1996-05-31
CA2160500C (en) 1999-11-09
PL322007A1 (en) 1998-01-05
US5724528A (en) 1998-03-03
BR9505208A (pt) 1997-09-16

Similar Documents

Publication Publication Date Title
KR0167817B1 (ko) 브리지 및 컴퓨터 시스템
KR100192724B1 (ko) 컴퓨터 시스템 및 브리지
US5740376A (en) Signaling protocol for a peripheral component interconnect
KR100306636B1 (ko) Pci-isa인터럽트프로토콜컨버터및선택메카니즘
US5191657A (en) Microcomputer architecture utilizing an asynchronous bus between microprocessor and industry standard synchronous bus
US5774681A (en) Method and apparatus for controlling a response timing of a target ready signal on a PCI bridge
EP0929866B1 (en) Bus interface control circuit
US5867645A (en) Extended-bus functionality in conjunction with non-extended-bus functionality in the same bus system
US5951667A (en) Method and apparatus for connecting expansion buses to a peripheral component interconnect bus
US5951661A (en) Bus protocol violation monitor systems and methods
US5878239A (en) Method and apparatus for processing a target retry from a PCI target device to an ISA master devise using a PCI/ISA bridge
US5937206A (en) System for converting states of DMA requests into first serial information and transmitting information to first bus whenever a state change of a request
US5794000A (en) Method and apparatus for avoiding erroneous abort occurrences in PCI-bus systems
US6202117B1 (en) Host adapter integrated circuit having autoaccess pause
US5673419A (en) Parity bit emulator with write parity bit checking
US5857081A (en) Method and apparatus for controlling a master abort in a computer system
US5797018A (en) Apparatus and method of preventing a deadlock condition in a computer system
US5838930A (en) Method and apparatus for controlling a command cycle on a bus
US6009482A (en) Method and apparatus for enabling cache streaming
US6199123B1 (en) Computer system for supporting increased PCI master devices without the requiring additional bridge chips
US20020188794A1 (en) Method and apparatus for repeating (extending) transactions on a bus without clock delay
JPH0981502A (ja) コンピュータシステム
US7103696B2 (en) Circuit and method for hiding peer devices in a computer bus
US20030110335A1 (en) Bus transaction between devices in a system
KR0176075B1 (ko) 주변소자연결 버스 응답 장치

Legal Events

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

Payment date: 20120824

Year of fee payment: 15

FPAY Annual fee payment

Payment date: 20130827

Year of fee payment: 16

FPAY Annual fee payment

Payment date: 20150827

Year of fee payment: 18

EXPY Expiration of term