KR19980703852A - Pci 버스 컴퓨터용 인에이블/디스에이블 확장 rom을구비한 증설 보드 - Google Patents

Pci 버스 컴퓨터용 인에이블/디스에이블 확장 rom을구비한 증설 보드 Download PDF

Info

Publication number
KR19980703852A
KR19980703852A KR1019970707252A KR19970707252A KR19980703852A KR 19980703852 A KR19980703852 A KR 19980703852A KR 1019970707252 A KR1019970707252 A KR 1019970707252A KR 19970707252 A KR19970707252 A KR 19970707252A KR 19980703852 A KR19980703852 A KR 19980703852A
Authority
KR
South Korea
Prior art keywords
pci
expansion
rom
bus
register
Prior art date
Application number
KR1019970707252A
Other languages
English (en)
Other versions
KR100262677B1 (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 KR19980703852A publication Critical patent/KR19980703852A/ko
Application granted granted Critical
Publication of KR100262677B1 publication Critical patent/KR100262677B1/ko

Links

Classifications

    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • G06F12/0646Configuration or reconfiguration
    • G06F12/0684Configuration or reconfiguration with feedback, e.g. presence or absence of unit detected by addressing, overflow detection
    • 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/06Addressing a physical block of locations, e.g. base addressing, module addressing, memory dedication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system

Abstract

주변 장치 상호접속(PCI) 컴퓨터에서 사용하기 위한 어댑터 또는 증설 카드는 상기 카드를 PCI버스에 결합시키는 만능 모듈을 포함한다. 이 모듈은 어댑터의 마이크로프로세서에 의해 로드되는 선택적 프로그래머블 구성 레지스터의 집합을 포함한다. 모듈 상의 회로 장치는 구성 레지스터가 완전히 로드될 때까지 PCI 프로세서가 구성 레지스터를 액세스하는 것을 금지하는 명령을 발행한다. 또다른 회로 장치는 판독/기록 레지스터 또는 모든 비트를 0으로 세트한 판독 전용 레지스터로서 확장 ROM 기본 주소 레지스터를 PCI 컴퓨터에 제공한다. 확장 ROM 기본 주소 레지스터가 모든 비트를 0으로 세트한 판독 전용 레지스터로서 제공되는 경우, PCI 컴퓨터는 증설 카드에 확장 ROM이 존재하지 않는다고 판단한다. 확장 ROM이 0이 아닌 값을 갖는 판독/기록 레지스터로서 제공되는 경우, PCI 컴퓨터는 확장 ROM이 존재하지 않는다고 판단하고 그 내용을 PCI 컴퓨터의 메모리에 투영(shadow)한다.

Description

PCI 버스 컴퓨터용 인에이블/디스에이블 확장 ROM을 구비한 증설 보드
본 발명은 일반적으로 컴퓨터 시스템에 관한 것으로, 특히 복수의 컴퓨터 시스템을 결합시키거나 컴퓨터 시스템에 장치를 결합시키기 위한 어댑터 카드 또는 증설 보드라 불리우는 장치에 관한 것이다.
컴퓨터 시스템의 프로세서, 메모리, 및 주변 장치와 같은 개별적인 장치를 결합시키기 위한 통신 인터페이스 또는 입출력 버스를 이용하는 것은 공지된 기술이다. 컴퓨터 시스템은 여러개의 독립형 태스크를 수행할 뿐만 아니라 서로 간의 정보를 교환한다. 정보를 교환하기 위해, 컴퓨터 시스템은 컴퓨터 네트워크에 접속된다. 종래의 컴퓨터 네트워크는 통신 매체와 이 통신 매체에 접속되는 복수의 컴퓨터 시스템을 포함한다. 통상적으로, 증설 보드는 컴퓨터 시스템의 버스를 통신 매체에 결합시키는데 이용된다. 사용자에게 그들의 컴퓨터가 좀더 관심을 끌도록 하기 위해, 대부분의 제조업자는 그들의 컴퓨터 버스 설계를 표준화하려고 시도하였다. ISA, EISA, 마이크로 채널(Micro ChannelTM) 등과 같은 표준 버스가 선행 기술에 공지되어 있다.
주변 장치 상호접속(PCI) 버스는 또 하나의 표준 버스 예에 해당한다. 이 버스는 다중 주소, 제어, 및 데이터 선을 갖는 고성능의 32 비트 또는 64 비트 버스이다. PCI 버스는 고집적 구성 요소, 주변 증설 보드 및 프로세서/메모리 서브 시스템 사이를 상호접속시키기 위한 메커니즘으로 사용하기 위한 것이다. PCI 버스에 대한 사양은 PCI 로컬 버스 사양서 제품 버전 개정판 2.0(1993년 4월 30일) 문서에 제시되어 있다. 이 매뉴얼은 PCI 특정 목적 그룹(SIG, Special Interest Group)에 의해 준비되고 유지된다. PCI-SIG는 컴퓨터 산업 내 모든 회사에 맴버쉽을 개방하고 있다. PCI 버스는 고성능의 개인용 컴퓨터(PCIs), 워크스테이션, 서버 등의 증설 보드를 위한 탁월한 확장 버스로서 출현하게 될 것으로 믿는다.
PCI 사양서가 제공하는 많은 특징 중에서도 확장 ROM(Expansion ROM)을 사용하는 것이 있다. 확장 ROM은 PCI 증설 보드에 상주하는 판독 전용 메모리에 해당된다. 확장 ROM은 PCI 증설 보드를 위한 초기화 및 시스템 부트(boot) 기능을 제공하기 위해 PCI 호스트 프로세서가 실행하는 코드를 포함하고 있다.
확장 ROM을 사용하는 전형적인 방법은 상기에서 참조한 PCI 로컬 버스 사양서에 구조적으로 되어 있으며, 본 사양서는 본 발명의 일부로서 참조된다. PCI 컴퓨터 시스템을 부팅하는 전형적인 환경에서, PCI 프로세서와 증설 보드의 사이의 구조적 프로세스가 실행된다. 그 결과로서, 증설 보드에 있는 확장 ROM의 내용은 PCI 컴퓨터 시스템의 메모리로 전송된다. 이를 흔히 확장 ROM의 내용을 PCI 컴퓨터 메모리에 투영한다(shadow)라고 한다. 그리고 나서, PCI 시스템 소프트웨어는 그의 메모리에 투영되어 있는 확장 ROM 복사본의 코드를 실행한다. 확장 ROM 코드의 실행이 일단 완료되면, 제어는 시스템 구성 소프트웨어로 복구되고 PCI 컴퓨터 시스템은 부트 프로세스를 계속 수행한다.
이러한 처리(즉, 확장 ROM 코드의 전송과 실행)가 완료된 후에, 확장 ROM의 투영본은 호스트 컴퓨터 시스템의 주메모리에 남는다. 프로세스는 메모리를 해제하기 위한 어떠한 메커니즘도 제공하지 않기 때문에, 그 메모리가 다른 어플리케이션에 의해 사용될 수 있다. 현재 PCI 컴퓨터 시스템에서, 전형적으로 확장 ROM을 투영하는데 사용되는 메모리는 메모리의 하위 1 메가 바이트의 위치에 해당되므로, 다른 DOS 및 윈도우용 어플리케이션이 그 부분을 사용하는 것을 매우 제한한다. 이 영역의 작은 부분이라도 사용된다면, 어플리케이션의 일부를 컴퓨터 시스템 상에 실행하지 못하도록 한다.
확장 ROM에 구현되어 있는 코드는 종종 특정 어플리케이션에서만 필요로 한다. 그 기능을 필요로 하지 않는 경우이더라도, 투영된 확장 ROM 코드가 컴퓨터 시스템 주메모리의 일부를 차지하는 것을 막을 수 있는 구조적 방법은 없다. 확장 ROM은 그것을 필요로 하는 특정 어플리케이션에서 이용할 수 있도록 모든 증설 보드에 존재하여야 한다. 확장 ROM을 필요로 하지 않는 환졍에서는 확장 ROM 투영본에 의해 컴퓨터 시스템의 주메모리가 불필요하게 소비되는 것을 방지하기 위해, 확장 ROM을 디스에이블시킬 수 있는 해결책이 필요하다.
발명의 요약
따라서, 본 발명의 주요 목적은 PCI 컴퓨터에서 사용하기 위한 신규한 증설 보드를 제공하는 것이다.
본 발명의 또 하나의 목적은 서로 다른 유형의 증설 보드를 PCI 버스 컴퓨터의 PCI 버스에 결합시키기 위한 만능 인터페이스 모듈(universal interface module)을 제공하는 것이다.
본 발명의 또 하나의 목적은 디스에이블/인에이블이 가능한 확장 ROM을 갖는 증설 보드를 제공하는 것이다.
본 발명에 따른 증설 보드는 PCI 프로세서에 확장 ROM을 이용할 수 있게 하거나(인에이블) 이용할 수 없게(디스에이블) 할 수 있는 메커니즘을 구비한 확장 ROM을 포함한다.
특히, 신규한 증설 보드는 선정된 어플리케이션(예를 들면, 통신 네트워크로 부착시키거나, 상이한 유형의 장치로 부착시키는 것 등)을 수행하기 위해 구체적으로 설계된 서브어셈블리(subassembly), 프로그래머블 PCI 구성 레지스터를 구비한 만능 인터페이스 모듈, 및 증설 보드 마이크로프로세서가 있다. 확장 ROM 기본 주소 레지스터라 불리우는 PCI 구성 레지스터의 하나를 판독/기록 레지스터 또는 선정된 값으로 설정된 판독 전용 레지스터로 구성함으로써, 증설 보드 상의 확장 ROM을 PCI 컴퓨터의 메모리로 투영시키거나 투영시키지 않을 수 있다.
구체적으로, 본 발명의 증설 보드는 증설 보드 마이크로프로세서를 포함하는데, 이 프로세서는 비휘발성 저장 장치와 만능 인터페이스 모듈(이하 PCI 버스 인터페이스 칩이라 부름)이 결합되어 있는 로컬 버스를 구비한다. 판독 전용 레지스터를 포함하는 레지스터의 한 집합이 PCI 버스 인터페이스 칩에 제공된다. 또한, PCI 프로세서가 기록하거나 판독할 수 있는 PCI 확장 ROM으로서, 비휘발성 저장 장치의 작은 부분(일반적으로 2 내지 6 K 바이트)을 사용한다. PCI 제어 ROM 레지스터와 확장 ROM 기본 주소 레지스터는 PCI 버스 인터페이스 칩에 제공된다.
전원이 켜짐에 따라, PCI 버스 인터페이스 칩 제어기는 PCI 버스 상의 선택된 제어선을 활성하여 PCI 시스템 프로세서로부터의 PCI 구성 레지스터의 액세스에 응답하여 재시도 모드(retry mode)를 표시한다. 이러한 재시도 모드 동안에, PCI 시스템 프로세서는 PCI 버스 인터페이스 칩의 구성 레지스터를 액세스할 수 없으며, 나중에 다시 그 레지스터에 대한 액세스를 재시도 하라는 신호가 PCI 시스템 프로세서에 보내어진다. 금지 또는 판독 불가 기간 동안, 증설 보드 마이크로프로세서는 비휘발성 저장 장치를 액세스하여 비휘발성 저장 장치에 저장된 정보를 구성 레지스터에 로드한다. 또한, 증설 보드 마이크로프로세서는 PCI 제어 ROM 레지스터를 액세스하여 확장 ROM을 디스에이블하려는 경우에 PCI ROM 디스에이블 비트의 상태를 변경한다. 확장 ROM이 인에이블되는 경우에, 비트는 변경되지 않는다.
로딩이 완료되면, 증설 마이크로프로세서는 PCI 버스 인터페이스 칩 상의 제어 레지스터의 제어 비트(이하 PCI 액세스 승인 비트라 부름)를 활성시킨다. 그 비트의 출력 신호는 PCI 버스 인터페이스 제어기가 이전에 활성화되었던 제어선을 비활성시키고 그 결과로서, PCI 프로세서는 PCI 버스 인터페이스 칩 상의 레지스터를 액세스하는 것이 자유롭게 된다.
PCI ROM의 디스에이블 비트가 논리값 1로 세트되는 경우, PCI ROM 디스에이블 로직은 PCI 확장 ROM 기본 주소 레지스터로부터 읽은 모든 논리값을 0으로 한다. PCI 프로세서는 PCI 확장 ROM 기본 주소 레지스터로부터 단지 0만을 읽을 수 있기 때문에, PCI 프로세서는 증설 보드에 확장 ROM이 제공되어 있지 않다고 판단한다.
PCI ROM 디스에이블 비트를 논리값 1로 세트하면 PCI 확장 ROM 기본 주소 레지스터는 판독만 가능한 0의 상태가 되는 반면에, PCI ROM 디스에이블 비트를 논리값 0로 세트하면 PCI 확장 ROM 기본 주소 레지스터는 PCI 프로세서에 판독/기록용 레지스터로 보이게 된다. 판독/기록 상태에 의하면, PCI 프로세서는 PCI 확장 ROM 기본 주소 레지스터 모두에 논리값 1을 기록한다. 0이 아닌 값이 PCI 확장 ROM 기본 주소 레지스터로부터 판독되는 경우, PCI 프로세서는 증설 보드에 확장 ROM이 제공되고 확장 ROM을 위한 PCI 메모리 기본 주소는 확장 ROM 기본 주소 레지스터에 작성된다. PCI 확장 ROM 기본 주소 레지스터의 주소는 확장 ROM의 내용이 판독되고 기록되는 PCI 프로세서 메모리의 위치이다. 또한, PCI 프로세서는 PCI 버스 상의 PCI 확장 ROM을 위한 판독/기록 사이클을 개시한다. PCI 확장 ROM 기본 주소 레지스터의 주소에 따라, PCI ROM 인에이블 로직은 확장 ROM에 대한 판독 또는 기록을 서비스하기 위해 활성된다.
발명의 또다른 특징에 의하면, PCI ROM 디스에이블 비트의 기능은 PCI 버스 인터페이스 칩 상의 핀에 의해 제공될 수 있는 PCI ROM 디스에이블 신호에 의해 무효될 수 있다. 핀이 활성 하이(high) 상태로 종료되는 경우, 확장 ROM 기본 주소 레지스터로부터 모두 0이 읽힌다. 핀이 비활성 로우(low) 상태로 종료되는 경우, PCI ROM 디스에이블 비트의 설정은 전술한 바와 같이 제어된다.
본 발명의 전술한 특징 및 장점을 첨부된 도면을 참조하면서 보다 상세히 설명하겠다.
본 출원(RA995045)은 미국 특허 출원 (RA995022)에 관련된 것이다. 두 출원 모두 동일 날자에 출원되었고 공통의 양수인에게 양도되었다. 미국 특허 출원 (RA995022)호에 개시된 발명은 프로그래머블 구성 레지스터(programmable configuration registers)를 갖는 PCI 인터페이스 모듈에 관련된 것인 반면에, 본 출원(RA995045)에 개시된 발명은 증설 보드(add-in board) 상의 PCI ROM을 활성시키거나 비활성시키는 수단을 갖는 PCI 인터페이스 모듈에 관한 것이다.
도 1은 본 발명에 따른 PCI 증설 보드를 시스템 레벨의 측면에서 도시한 블럭도.
도 2는 본 발명에 따른 증설 보드를 보드 레벨의 측면에서 도시한 블럭도.
도 3은 본 발명에 따른 PCI 인터페이스 칩을 칩 레벨의 측면에서 도시한 블럭도.
도 4는 본 발명에 따른 PCI 버스 인터페이스 칩의 회로 블럭도.
도 5는 구성 레지스터를 구성하고 설정하기 위해, PCI 프로세서 및 증설 보드 프로세서 각각에서 처리되는 프로세스 단계를 도시한 흐름도.
도 6은 PCI 버스 인터페이스 제어기에 대한 블럭도.
도 7은 재시도 사이클에 대한 타이밍도.
도 8은 본 발명에 따라 PCI 확장 ROM 인에이블/디스에이블을 처리하기 위한 흐름도.
도 9는 PCI 확장 ROM 디스에이블에 대한 논리도.
도 1은 PCI 컴퓨터 시스템(13)의 블럭도를 도시한 것이다. PCI 컴퓨터 시스템은 PCI 버스(10), PCI 증설 보드(12), 및 PCI 프로세서(14)를 구비한다. PCI 프로세서(14)는 여러 개의 소프트웨어를 포함하는데, 이러한 소프트웨어에는 PCI 시스템 구성 소프트웨어(14a), 운영 시스템(14b), 및 여러 응용 프로그램(14c)가 포함된다. 이 소프트웨어들의 각각의 기능은 본 기술 분야에 공지되어 있다. 따라서, 각각에 대해 상세히 설명하지 않겠다. PCI 시스템 구성 소프트웨어(14a)는 PCI 증설 보드(12)의 구성 레지스터(이후에 설명하겠음)를 제어하는데 필요한 기능을 수행한다는 것으로 충분할 것이다. 일반적으로, PCI 시스템 구성 소프트웨어(14a)는 전형적으로 BIOS(기본 입/출력 레지스터)라 불리우는 것의 일부로서 시스템을 위한 진단(power on diagnostic)을 수행하고 시스템의 구성 및 데이터 입/출력을 지원한기 위한 하위 레벨의 다양한 루틴을 제공한다. PCI 특정 목적 그룹(PCI-SIG)는 1993년 7월 20일에 PCI BIOS 사양서(개정판 2.0)를 공표하였는데, PCI 구성 소프트웨어에서 필요로 하는 기능에 대해 약술하였다. 이 문서는 본 발명의 일부로서 참조된다. PCI BIOS 사양서에는 프로그래머가 적합한 구성 모듈을 설계하는데 충분한 정보가 기재되어 있다.
전술한 바와 같이, PCI 버스(10)은 컴퓨터 시스템용 상호접속 전송 메커니즘이다. PCI 버스에 대한 좀더 상세한 설명은 1993년 4월 30일자의 주변 장치 상호접속(PCI) 로컬 버스 사양서에 기재되어 있으며, 이 문서는 본 발명의 일부로서 참조된다. 또한, 미국 특허 제 5,392,407호(주변 장치 상호접속 포트(PCI)와 RAMBUS 포트)에서 PCI 버스의 특징을 설명하고 있으며 또한 버스에 관한 기본 정보를 설명하기 위한 목적으로 본 발명의 일부로서 참조된다. 도 1은 PCI 증설 보드가 실제 구현에서는 PCI 컴퓨터 시스템(13)으로부터 분리되어 있는 것으로 도시하고 있지만, PCI 증설 보드(12)는 PCI 컴퓨터 시스템(13)의 커버 아래의 확장 슬랏에 설치된다.
계속해서 도 1을 참조하면, 이하에서 설명되는 본 발명은 PCI 증설 보드(12)에 관련된 것으로서, 구체적으로는 PCI 버스(10)과 인터페이스하는 PCI 버스 인터페이스 칩(12a)에 관한 것이다. PCI 버스 인터페이스 칩(12a)은 판매자들이 다양한 유형의 PCI 증설 보드(12)를 PCI 버스에 상호접속시키기 위해 사용할 수 있는 만능 칩이다. 또한, PCI 버스 인터페이스 칩은 PCI 증설 보드에 배치된 확장 ROM을 인에이블하거나 디스에이블할 수 있는 메커니즘을 제공한다. PCI 증설 보드(12)는 로컬 버스(12c)를 갖는 프로세서(12b)를 포함한다. 로컬 버스(12c)는 PCI 버스 인터페이스 칩(12a), 비휘발성 저장 장치(12d), RAM(12e), 및 입출력(I/O) 태스크 생성 수단(12f)를 상호접속시킨다. 태스크 생성 수단(12f)는 PCI 증설 보드의 서브 시스템으로서 소정의 태스크를 실행하기 위핸 필요한 기능을 수행한다. 이러한 예로써, 태스크 생성 수단(12f)는 PCI 컴퓨터 시스템(13)을 토큰 링(token ring), 이더넷(eithernet), FDDI, 및 유사한 유형의 LAN에 부착시키기 위한 통신 어댑터에 해당할 수 있다. 토큰 링 네트워크용 태스크 생성 수단의 한 예로서, IBM사의 자동 랜스트리머 PCI 어댑터(Auto LANStreamer PCI Adaptor), P/N 04H8095를 들 수 있다.
유사하게, 이더넷용 태스크 생성 수단은 IBM사의 이더스트리머(EtherStreamer) MC 32 어댑터, P/N 74G0850을 들 수 있다.
일반적으로, PIC 버스 인터페이스 칩에 결합될 수 있는 태스크 생성기에는 통신 제어기(이더넷, 토큰 링, FDDI, ATM 등), 디스플레이 제어기(VGA, XGA 등), 멀티미디어 장치(비디오, 오디오, CD-ROM 등), 디스크 서브시스템(IDE, SCSI, RAID 등), 및 보조 프로세서 서브시스템(펜티움, 파워피시 등)이 포함된다.
이러한 어플리케이션들은 모두 PCI 증설 보드에 의해 실행될 수 있음을 인식하여야 한다. 본 발명에 따르면, PCI 버스 인터페이스 칩(12a, 나중에 상세히 설명하겠음)는 임의의 증설 보드와 함께 이용될 수 있으며 PCI 버스 상에서 작동하기 위해 증설 보드에 요구되는 버스 인터페이스 기능을 수행한다.
계속해서 도 1을 참조하면, 본 발명은 확장 ROM에 대해 다루고 있으며, 또한 PCI 프로세서에 상기 확장 ROM의 존재 여부를 표시하기 위한 PCI 버스 인터페이스 칩에서의 메커니즘(이하에 상세히 설명됨)에 대해 다루고 있다. 구체적으로, 확장 ROM은 비휘발성 저장 장치의 한 섹터(sector)에 해당한다. 섹터는 일반적으로 2k 바이트에서 16k 바이트에 해당한다. 물론, 본 발명의 범위를 벗어나지 않고서도 확장 ROM 설계시에 다른 구조 및 다른 크기가 이용될 수 있음은 본 기술 분야에 잘 알려져 있다.
PCI 시스템 프로세서는 확장 ROM 코드를 실행하여 증설 보드를 위한 초기화, 구성, 및 시스템 부트 기능과 같은 다양한 기능을 수행할 수 있다. PCI 시스템 프로세서의 메모리 맵 내의 확장 ROM 위치는, 확장 ROM의 코드가 저장되어질 주소를 PCI 확장 ROM 기본 주소 레지스터에 작성하는, PCI 시스템 구성 프로그램에 의해 구성된다. PCI 확장 ROM 기본 주소 레지스터의 포맷 및 위치는 PCI 로컬 버스 사양서 개정판 2.0에 규정되어 있다.
확장 ROM을 이용하는 예를 설명하겠다. 예에서는, PCI 컴퓨터 시스템을 토큰 링에 부착시키는 토큰 링 증설 보드에 확장 ROM을 사용하고 있다.
토큰 링 증설 보드는 원격 프로그램 로드(remote program load) 기능을 위한 코드를 포함하는 확장 ROM을 제공한다. 원격 프로그램 로드 기능은 호스트 컴퓨터 시스템이 서버 시스템으로부터의 네트워크를 통해 원격으로 부트(boot) 될 수 있도록 근거리 네트워크 어댑터가 요청할 수 있는 능력을 제공한다. 로컬 하드 드라이브 또는 플로피 디스크로부터 운영 시스템을 로드하는 대신에, 증설 보드의 확장 ROM의 원격 프로그램 로드 코드는 근거리 네트워크를 통해 서버 시스템이 운영 시스템의 복사본을 보내도록 하는 요청을 발행한다. 원격 프로그램 로드 코드가 운영 시스템 코드를 수신하게 되면, 원격 프로그램 로드 코드는 그 코드를 로컬 컴퓨터 시스템의 주메모리에 로드하고 완료되면 운영 시스템에 제어를 넘긴다.
대부분의 토큰 링 증설 보드 어플리케이션들은, 호스트 컴퓨터 시스템이 항상 로컬 하드 드라이브로부터 부팅되기 때문에, 원격 프로그램 로드 기능을 필요로 하지 않는다. 이러한 어플리케이션에서는, 본 발명에서 설명된 기법을 이용하여 확장 ROM을 디스에이블시키고 일반적으로 원격 프로그램 로드 코드가 차지하는 셰도우 메모리(shadow memory)를 해제시킬 수 있다. 원격 프로그램 로드 기능를 사용하는 어플리케이션에 의하면, 확장 ROM은 인에이블 상태로 남아 호스트 컴퓨터 시스템이 원격 서버 시스템으로부터 부팅될 수 있을 것이다.
토큰 링 증설 보드의 경우, 확장 ROM이 인에이블 또는 디스에이블 상태로 남아 있을 것인지를 판단하는 구성 입력 파라미터가 증설 보드의 비휘발성 플레시(flash) 메모리 저장 장치에 포함되어 있다. 전원이 켜지자 마자, 증설 보드의 마이크로프로세서는 플래시 메모리의 구성 비트를 PCI 버스 인터페이스 칩의 레지스터로 복사하는데, 이 구성 비트는 확장 ROM 기본 주소 레지스터가 PCI 시스템 구성 소프트웨어가 액세스할 수 있도록 판독/기록 또는 판독 전용으로서 제공되는지 제어한다. 컴퓨터 시스템의 사용자는 PCI 컴퓨터 시스템 상에 플래시 메모리의 구성 비트를 갱신할 수 있는 유틸리티를 실행시킴으로써 확장 ROM을 인에이블 또는 디스에이블시킬 수 있다.
도 2는 PCI 버스 인터페이스 칩(12a)을 보드 레벨 측면에서 도시한 것이다. PCI 버스 칩(12a)는 PCI 버스(10)을 접속시키기 위한 PCI 버스 인터페이스(16)을 포함한다. 내부 버스 인터페이스 수단(18)은 PCI 버스 인터페이스 칩(12a)를 내부 버스(12c)에 결합시킨다. PCI 버스 인터페이스 수단(16)과 내부 버스 인터페이스 수단(18) 사이에 접속되는 것에는 데이터 전송 및 로직 수단(20), 기능성 레지스터(22), PCI 구성 레지스터(24), 및 PCI 확장 ROM 제어 수단(50)이 포함된다. 데이터 전송 및 로직 수단(20)은 PCI 버스(10)과 PCI 증설 보드(12)의 사이의 주요 데이터 전송 경로에 해당한다. 데이터 전송 및 로직 수단(20)은 내부 인터페이스 수단의 데이터를 PCI 버스 인터페이스 수단(16)으로 이동시키는 선입선출(FIFO) 버퍼(20a)를 포함한다. 유사하게, FIFO 버퍼(20b)는 반대 방향으로 데이터를 이동시킨다.
PCI 버스 구성 레지스터(24)는 PCI 버스(10)에 대해 PCI 시스템 구성 소프트웨어(14a)를 실행시키는 PCI 시스템 프로세서에 의해 기록되거나 판독될 수 있다. 이러한 레지스터에 기록되는 정보는 PCI 증설 보드를 PCI 컴퓨터 시스템에 결합시키기 위한 장치의 I/O 주소, 메모리 주소, 인터럽트 레벨, 캐쉬 라인, 크기 등의 데이터 리소스를 구성한다.
계속해서 도 2를 참조하면, PCI 구성 레지스터(24)는 구성 소프트웨어(14a)가 장치를 식별하고 그 장치를 적절하게 구성하는 방법을 이해하는데 중요한 정보를 포함한다. PCI 표준은 판독 전용 구성 레지스터의 다음 리스트를 필요로 한다. 이 리스트에 완전히 기재되어 있는 것은 아니며, 본 발명은 PCI 증설 보드를 PCI 버스에 인터페이스하는데 있어서 필요한 레지스터의 이름 및 임의의 유형을 포함시키려고 한다.
벤더(Vendor) ID - 장치를 제조하는 벤더를 식별하는 16 비트 레지스터
장치 ID - 벤더에 의해 사용되는 16 비트 레지스터로서 그것이 제공하는 PCI 장치의 각 유형을 특정하게 식별하는 16 비트 레지스터
개정(revision) ID - 장치의 개정 레벨을 식별하기 위해 벤더에 의해 사용될 수 있는 8 비트 레지스터
클래스 코드 - 장치의 일반 기능을 식별하는 24 비트 레지스터(디스플레이 제어기, 네트워크 제어기, 브리지 장치 등)
기본 주소 레지스터 - 장치 I/O와 메모리 매핑(mapping) 요구 사항을 표시하는 판독 전용 비트를 포함함
인터럽트 라인 레지스터 - 인터럽트 라인 경로 지정(routing) 요구 사항을 통신하기 위해 사용되는 8 비트 레지스터
최소 승인 및 최대 지연 타이머 레지스터 - 장치의 바람직한 지연 타이머 값의 설정에 대해 지정하는 8 비트 레지스터
이하에 설명되는 바와 같이, PCI 구성 레지스터의 값은 마이크로프로세서(12b)와 비휘발성 저장 장치(12d)에 의해 동적으로 설정된다. 결과로서, 동일한 PCI 버스 인터페이스 칩(12a)를 여러 가지 다른 유형의 PCI 증설 보드와 함께 사용할 수 있다.
다음에 설명하는 바와 같이, 본 발명은 확장 ROM을 인에이블하거나 디스에이블할 수 있는 특징을 포함한다. PCI 확장 로직 수단(50, 이하에 상세히 설명됨)은 확장 ROM 기본 주소 레지스터라 불리우는 구성 레지스터 중 하나의 내용을 감시하고, 그 내용에 따라 확장 ROM과 PCI 프로세서 사이에서 정보를 전달할 수 있도록 하거나 또는 어떠한 정보도 전달하지 못하게 할 수 있다.
기능성 레지스터(22)는 PCI 구성 레지스터와는 별도의 레지스터이다. 그것들은 토큰 링 장치 드라이버와 같은 구체적인 응용 소프트웨어에 의해서만 액세스될 수 있다. 그것들은 인터럽트/상태 기능, DMA 제어 기능, 및 PCI 버스 사양의 부분으로서 규정되지 않은 선택 사항을 구성할 수 있는 능력을 제공한다.
도 3은 PCI 버스(10)과 내부 증설 보드 버스(12c)에 상호접속되는 PCI 버스 인터페이스 칩(12a)을 상세한 블럭도로 도시한 것이다. 이 도면에는, 프로그래머블 레지스터로서 내부 증설 보드 버스(12c)를 통해 마이크로프로세서(12b)에 의해 기록될 수 있는 PCI 구성 레지스터가 도시되어 있다. 또한, PCI 프로세서가 PCI 구성 레지스터를 액세스하는 것을 제어하는 PCI 액세스 승인 레지스터가 도시되어 있다. 다음에 본 발명의 바람직한 실시예에서 설명하겠지만, PCI 액세스 승인 레지스터는 1 비트 레지스터이다. 물론, 동일한 기능을 제공하는 다른 유형의 구성 레지스터를 사용하는 것 또한 본 발명의 범위 및 정신을 벗어나지 않는다.
도 3을 계속해서 참조하면, PCI 버스 인터페이스 수단(16)은 PCI 버스 마스터 로직 수단(16a)과 PCI 버스 슬레이브(slave) 로직 수단(16b)를 포함한다. PCI 버스 마스터 로직 수단(16a)는 PCI 버스(10)과 PCI 버스 인터페이스 칩 내부의 FIFO 사이의 버스트 데이터 전송(burst data transfer)을 수행한다. 모든 PCI 버스 시스템의 일부로서 존재하는 PCI 시스템 버스 중재 로직(도시되어 있지 않음)에 버스 독점권(ownership)을 요청함으로써 PCI 버스 상의 데이터 전송을 개시한다. PCI 버스 슬레이브 로직 수단(16b)는 PCI 시스템 프로세서와 같은 다른 버스 마스터에 의해 개시되는 PCI 버스 사이클의 타겟(target)으로서 응답한다. PCI 버스 상의 제어 신호 간에 필요한 핸드쉐이킹(handshaking)을 제공함으로써 PCI 시스템 프로세서가 PCI 버스 인터페이스 칩의 레지스터를 판독하고 기록할 수 있도록 한다.
PCI 버스 인터페이스(16)과 유사하게, 내부 버스 수단(18)은 내부 버스 마스터(master) 로직 수단(18a)와 내부 슬레이브 로직 수단(18b)를 포함한다. 내부 버스 마스터 로직 수단(18a)은 내부 증설 버스(12a)와 PCI 버스 인터페이스 칩 내부의 FIFO 사이의 버스트 데이터 전송을 수행한다. 내부 버스 슬레이브 로직 수단(18b)는 증설 보드 마이크로프로세서로부터의 레지스터 판독 및 기록 연산을 제공한다.
계속해서 도 3을 참조하면, OR 논리 회로(20)은 PCI 버스 슬레이브 로직 수단(16b)에 접속되는 하나의 출력 단자와 2개의 입력 단자를 포함하는데, 2개의 입력 단자중 하나는 콘덕터(26)을 통해 PCI 액세스 승인 레지스터(24)에 접속되고 다른 하나의 입력 단자는 콘덕터(23)을 통해 핀 또는 접속기(22)로 접속된다. 핀(22)는 PCI 버스 인터페이스 모듈(12a)에 부착되는데, 도 3에 가상 원으로서 개략적으로 도시되어 있다. 이하에서 설명하겠지만, OR 논리 회로(20)으로부터의 출력 신호가 활성 상태로 되면, PCI 프로세서는 PCI 버스를 걸쳐 PCI 구성 레지스터에 액세스할 수 있게 된다. OR 회로(20)의 출력이 비활성 상태로 되면, PCI 프로세서에 의한 구성 레지스터의 액세스는 차단된다. OR 논리 회로(20)의 신호 상태는 프로세서(12b) 에 의해 설정되는 PCI 액세스 승인 레지스터의 비트 또는 PCI 버스 인터페이스 칩(12a) 상의 핀(22)에 의해 제어된다.
계속해서 도 3을 참조하면, 확장 ROM을 인에이블하거나 디스에이블하는 메커니즘이 도시되어 있다. 이 메커니즘에는 콘덕터(54)에 의해 논리 OR 회로(56)으로 접속되는 출력 단자를 갖는 PCI ROM 제어 레지스터(52)가 포함된다. 논리 OR회로(56)의 출력 단자는 확장 ROM 기본 주소 레지스터(56)에 접속된다. PCI 확장 ROM 디스에이블 콘덕터(57)은 PCI 확장 ROM 디스에이블 핀(60)을 논리 OR 회로 수단(56)의 또다른 입력 단자에 결합시킨다. 확장 ROM 기본 주소 레지스터(58)의 출력 단자는 PCI 확장 ROM 디코더 로직 수단(62)에 접속되어 있다. PCI 확장 디코더 로직 수단(62)는 PCI 버스 슬레이브 로직 수단(16b)의 한 쪽과 내부 버스 슬레이브 로직 수단(18b)의 다른 한 쪽에 접속된다.
계속해서 도 3을 참조하면, PCI ROM 제어 레지스터(52)는 내부 증설 보드 버스(12c)를 통해 증설 보드 마이크로프로세서에 의해 세트되거나 또는 세트되지 않는 비트(이하에서 설명하겠음)를 구비하고 있다. 비트가 논리 1로 세트된 경우, 확장 ROM 기본 주소 레지스터(58)은 모두 0 값을 출력하게 되는데, 이 값들은 PCI 프로세서가 판독하며, 판독 프로세서는 읽혀진 모든 0 값을 증설 보드 상에 확장 ROM이 없는 것을 표시하는 것으로 해석한다. 확장 ROM 기본 주소 레지스터(58)의 출력이 모두 0이 아닌 경우, PCI 프로세서는 이를 확장 ROM이 증설 보드에 존재한다는 것으로 해석한다. PCI 버스(12) 상의 주소가 확장 ROM 기본 주소 레지스터(58)에 있는 주소에 해당하는 경우에, PCI 확장 ROM 디코드 로직 수단(62)는 증설 보드 상의 확장 ROM의 정보를 PCI 프로세서로 교체하거나 또는 반대로 교체한다. 확장 ROM 기본 주소 레지스터를 판독/기록 레지스터 또는 0으로 고정된 판독 전용 레지스터로 제공하는 구조에 대해서는 이하에서 좀더 상세하게 설명하겠다. 증설 보드 상의 확장 ROM이 PCI 프로세서에 이용 가능한지의 여부는 확장 ROM 기본 주소 레지스터(58)를 판독/기록 레지스터 또는 0으로 고정된 판독 전용 레지스터로 제공함으로써 충분히 판단될 수 있다. 이하에서 상세히 설명하겠지만, PCI 확장 ROM 디스에이블 콘덕터(57)에서 생성된 PCI 확장 ROM 디스에이블 신호를 사용하여 PCI 제어 레지스터 비트를 무효화할 수 있다.
전술한 바와 같이, PCI 프로세서는 확장 ROM 기본 주소 레지스터의 내용을 사용하여 증설 보드 상에 확장 ROM이 존재하는지의 여부를 판단한다. 이를 위해, 확장 ROM 기본 주소 레지스터에 대해 설명하겠다. 확장 ROM 기본 주소 레지스터는 PCI 로컬 버스 사양서 개정판 2.0의 섹션 6.2.5.2에 따른 구조로 되어 있으며, 이 사양서는 본 발명의 일부로서 참조된다. PCI 컴퓨터 시스템의 전원이 켜지고 시스템 부팅이 처리되는 동안에, PCI 프로세서 내의 구성 소프트웨어는 확장 ROM 기본 주소 레지스터에 모두 1 값을 기록한다. 구성 소프트웨어가 0이 아닌 값을 다시 읽게 되면, 증설 보드에 확장 ROM이 제공된 것이다. 만약 그것이 모두 0인 값을 다시 읽게 되는 경우에는 증설 보드에 확장 ROM이 존재하지 않음을 의미한다.
확장 ROM이 존재하는 경우, 시스템 구성 소프트웨어는 확장 ROM 기본 주소 레지스터로부터 값을 판독하여 확장 ROM의 크기를 판단하게 된다. 그런 후에, 기본 메모리 주소를 갖는 레지스터를 로드하여 확장 ROM의 코드가 시스템 프로세서의 메모리 맵에 배치되도록 하는 것이다. 그리고 나서, 레지스터의 인에이블 비트가 세트되어 PCI 버스가 확장 ROM을 액세스할 수 있게 된다. 시스템 구성 소프트웨어는 그런 후에 확장 ROM의 내용을 호스트 컴퓨터 시스템의 주메모리에 복사하거나 투영시킨다. 그 후에, 증설 보드 확장 ROM 기본 주소 레지스터는 확장 ROM으로의 액세스를 디스에이블시키도록 작성되고, 확장 ROM은 시스템 프로세서의 메모리 맵으로부터 효율적으로 제거된다. 다음에, 시스템 구성 소프트웨어는 호스트 컴퓨터 시스템의 주메모리에 있는 확장 ROM의 투영본의 코드를 실행한다. 확장 ROM 코드의 실행이 일단 완료되면, 제어는 시스템 구성 소프트웨어로 복구되고 PCI 컴퓨터 시스템은 계속해서 부트 프로세스를 진행한다.
도 4는 PCI 시스템 프로세서(도 1의 14)가 PCI 구성 레지스터를 액세스하는 것이 금지되는 동안에 마이크로프로세서(도 1의 12b)가 PCI 구성 레지스터에 데이터를 기록할 수 있도록 하는 로직을 예시한 것이다. 그러나, 기록이 일단 완료되고 PCI 액세스 승인 레지스터(28)의 PCI 액세스 승인 비트(22)가 세트되면, 이전에는 액세스가 금지되었던 PCI 프로세서에 PCI 버스 인터페이스 칩 상의 모든 레지스터를 액세스할 수 있는 허가를 부여한다. 또한, 확장 ROM이 디스에이블되어질 예정인 경우, PCI 디스에이블 비트(도 9)는 논리 1값으로 세트된다. PCI ROM 비트가 디스에이블되지 않을 경우라면, PCI ROM 디스에이블 비트에 세트된 0 값은 변경되지 않는다.
계속해서 도 4를 참조하면, (PCI 데이터 버스라 불리우는 PCI 버스 위의) 하나의 데이터 라인 집합(10a)는 PCI 구성 레지스터를 PCI 버스(10)와 상호접속시킨다. PCI-RST # LINE이라 불리우는 제어 구조 라인(control architectured line)은 PCI 액세스 승인 레지스터(28)을 PCI 버스(10)에 상호접속시킨다. 마지막으로, 소위 PCI 버스의 소위 재시도 기능을 활성시키기 위해 필요한 PCI 제어 신호 라인 집합은 PCI 버스(10)을 PCI 상태 머신과 조합 로직 수단(31)에 상호접속시킨다.
PCI 슬레이브 상태 머신과 조합 로직 수단(31)의 입력 단자는 최종 액세스 승인 신호 라인(32)에 의해 OR 회로(20)으로 접속된다. 콘덕터(24 및 26) 상의 신호는 이미 도 3을 참조하여 설명되었으므로 여기서는 다시 반복하지 않겠다.
도 5는 PCI 증설 보드 구성 레지스터에 액세스하려고 하는 PCI 시스템 프로세서와 PCI 구성 레지스터를 프리로드(preload)하는 PCI 증설 보드 마이크로프로세서 간의 상호 작용을 도시한 흐름도이다. 요약하면, 전원이 켜질 때, PCI 프로세서(42)에서 실행하는 PCI 시스템 구성 소프트웨어는 (PCI 인터페이스 칩에 배치되어 있는) PCI 증설 보드 구성 레지스터(도시되어 있지 않음)에 기록하려고 시도한다. 증설 보드 마이크로프로세서가 PCI 버스 인터페이스 칩에 PCI 액세스 승인 비트를 기록할 때까지 PCI 시스템 프로세서의 액세스는 금지된다. 이러한 금지로 인해, PCI 시스템 구성 소프트웨어가 구성 레지스터를 액세스할 수 있기 이전에 PCI 증설 보드 마이크로프로세서가 구성 레지스터를 프리로드하는 연산을 완료할 수 있게 된다.
좀더 구체적으로 설명하면, 프로세스는 PCI 시스템의 전원이 켜질 때 시작한다(34). 구성 레지스터를 구비한 PCI 증설 보드가 참조 번호 36에 의해 개략적으로 도시되어 있다. 전원이 켜진 후에, PCI 시스템 프로세서(42)는 구성 판독 또는 기록(config read or write)이라 표시된 라인을 통해 구성 레지스터를 액세스하려고 시도한다. 이러한 시도는 금지되며 이러한 금지는 재시도(retry)라고 표시된 라인에 의해 개략적으로 도시되어 있다. 이러한 시간 간격 동안에, PCI 증설 보드 마이크로프로세서(38)는 보드 상의 비휘발성 ROM으로부터 정보를 얻고 비휘발성 저장 장치로부터 검색된 이미 저장되어 있는 정보를 적합한 구성 레지스터에 기록한다(38). 이를 완료하면, PCI 증설 보드 마이크로프로세서(40)은 PCI 액세스 승인 비트를 세트하여 PCI 시스템 프로세서(42)가 재시도 모드로부터 빠져 나와 증설 보드 상의 레지스터를 액세스할 수 있도록 한다. 레지스터에 대한 액세스는 도 5의 구성 판독 또는 기록이라 표시된 양방향 화살표에 의해 표시되어 있다. 판독 또는 기록 레지스터의 기능이 일단 완료되면, PCI 증설 보드 구성이 완료되고 시스템은 증설 보드를 PCI 버스에 결합시키는 장치와 통신할 수 있는 상태에 있다.
도 6은 PCI 버스 인터페이스 칩과 PCI 버스 인터페이스 제어기(PCI 버스 Int. Ctrl.)의 블럭도를 도시한 것이다. PCI 버스 인터페이스 제어기의 기능 중 한 부분은 PCI 프로세서가 재시도 상태로 되도록 하여 상기 PCI 프로세서가 PCI 버스 인터페이스 칩 상의 레지스터를 액세스하는 것을 금지하는 것이다. 도 6의 구성 요소는 이전에 설명했던 구성 요소와 유사하므로 다시 설명하지 않겠다. PCI 버스 인터페이스 제어기는 PCI 슬레이브 조합 로직 수단(44)와 PCI 슬레이브 상태 머신(46)으로 구성된다. PCI 슬레이브 조합 로직 수단(44)는 PCI 버스 상의 제어 신호(PCI FRAME # 및 PCI IRDY #)를 디코드하고 PCI 슬레이브 상태 머신(46)에 레지스터 판독 또는 기록 동작이 PCI 시스템 프로세서에 의해 PCI 버스 인터페이스 칩으로 개시되었음을 알린다. 그런 후에, PCI 슬레이브 상태 머신(46)은 판독 및 기록 동작 서비스에 요구되는 상태를 시퀀싱한다. PCI 슬레이브 조합 로직(44)는 PCI 슬레이브 상태 머신(46)의 출력을 디코드하고 PCI 시스템 프로세서에 버스 사이클이 완료되었음을 알리기 위해 PCI 버스 상의 제어 신호(PCI DEVSEL #, PCI TRDY #, PCI STOP #)를 활성시킴으로써 응답한다.
최종 액세스 승인 라인(36) 상의 최종 액세스 승인 비트가 비활성 로우(inactive low) 상태에 있는 경우, PCI 슬레이브 상태 머신(46)은 PCI 시스템 프로세서로부터의 판독 또는 기록 연산에 대해 재시도 조건을 알림으로써 응답할 것이다. PCI 슬레이브 상태 머신(46)의 출력을 이용하여, PCI 슬레이브 조합 로직 수단(44)는 PCI DEVSEL #과 PCI STOP # 신호를 활성시키고 PCI TRDY # 신호를 비활성시킴으로써 재시도 상태를 알린다. PCI 시스템 프로세서는 신호 시퀀스(signal sequence)를 사용하여 레지스터에 대한 액세스가 금지되었고 버스 트랜잭션(transaction)은 나중에 다시 재시도되어야 됨을 표시한다. 최종 액세스 승인 신호(32)가 활성 하이(active high) 상태에 있는 경우, PCI 슬레이브 상태 머신(46)과 조합 로직 수단(44)는 PCI DEVSEL #과 PCI TRDY # 신호를 활성시킴으로써 정규 버스 트랜잭션에 응답한다. PCI 시스템 프로세서는 이러한 신호 시퀀스를 이용하여 레지스터에 판독 및 기록하기 위한 액세스가 완전히 정상적으로 완료되었음을 표시한다. 재시도 및 정규 판독/기록 버스 트랜잭션에 요구되는 정확한 신호 시퀀스는 PCI 로컬 버스 사양서 제품 버전, 개정판 2.0에 정의되어 있으며, 이 사양서는 본 명세서의 일부로서 참조된다.
도 7은 PCI 프로세서와 PCI 인터페이스 칩(도 6) 사이에 실행되는 핸드쉐이킹(handshaking) 절차에 대한 타이밍 또는 이벤트도를 도시한 것이다. 핸드쉐이킹 루틴은 PCI 프로세서를 재시도 모드가 되도록 하는데 필요한 루틴이다. 재시도 모드는 PCI 버스 인터페이스 제어기와 같은 슬레이브 장치가 PCI 프로세서와 같은 마스터 장치와 통신할 준비가 되어 있지 않은 경우에 호출된다. 이 루틴에 요구되는 신호의 구성은 상기에서 참조한 PCI 사양서에 있다. 신호에는 클럭(clock), FRAME #, IRDY #, TRDY #, STOP #, 및 DEVSEL #이 포함된다. PCI 프로세서가 PCI 버스 인터페이스 칩의 구성 레지스터를 액세스하고자 하는 경우, FRAME #과 IRDY #로 표시된 신호가 PCI 프로세서에 의해 PCI 버스 상으로 출력된다. PCI 프로세서에 의해 출력된 신호에 대해 PCI 버스 인터페이스 칩은 TRDY #, STOP #, 및 DEVSEL #이라 표시된 신호를 출력한다. 신호의 이름과 흐름 방향은 도 6에 도시되어 있다. 번호 1, 2, 3, 4, 5는 PCI 버스 인터페이스 칩이 PCI 프로세서로부터 출력된 신호를 샘플링하는 주기를 표시한 것이다. 또한, A, B, C라 표시된 원은 하나의 장치가 임의의 동작을 개시한 시점과 다른 장치로부터의 반응을 표시한 것이다. 예를 들어, A는 PCI 버스 인터페이스 제어기에 의해 개시된 것이고 B는 PCI 프로세서로부터의 응답에 해당된다. 각각의 신호에 적용해 보면, STOP # 라 표시된 신호가 로우 상태로 되는 경우, IRDY # 신호는 떨어지고 FRAME # 신호는 올라 간다. C로 도시된 다른 사건도 유사한 방식으로 작동된다. 결국, 재시도 사이클은 간격 5에서 완료되며 화살 방향이 반대 방향을 가리키는 2개의 화살표에 의해 도시되어 있다.
도 9는 본 발명에 따라 PCI ROM을 디스에이블시키거나 인에이블시키기 위한 논리도를 도시한 것이다. 로직은 PCI 버스 인터페이스 칩에 구현된다. 도 9의 항목 또는 구성 요소에 대해서는 이전에 설명하였기에 더 이상 설명하지 않겠다. PCI ROM 디스에이블/인에이블 회로 구성은 PCI ROM 디스에이블 레지스터(62)로 구성된다. PCI ROM 디스에이블 레지스터(62)는 내부 버스 판독/기록 데이터 라인(64)에 의해 내부 증설 보드 버스로 결합된다. 이하에서 설명되는 바와 같이, 레지스터 내의 PCI ROM 디스에이블 비트라 불리우는 비트는 내부 증설 보드 프로세서에 의해 세트될 수 있다. 1로 세트된 경우, 증설 확장 ROM은 PCI 프로세서에 의해 인식되지 않는다. PCI-RSD # 제어 라인(66)은 PCI ROM 디스에이블 레지스터(62)를 리셋한다(reset). PCI ROM 디스에이블 비트는 콘덕터(68)에 의해 논리 OR 회로 수단(70)으로 접속된다. 논리 OR 회로 수단(70)으로의 또다른 입력은 PCI ROM 디스에이블 입력부(72)이다. 이전에 설명한 바와 같이, 이러한 입력은 PCI 버스 인터페이스 칩 상의 핀(도 3의 60)으로부터 발생한다. 논리 OR 회로 수단(70)으로부터의 출력은 최종 ROM 디스에이블 라인(71)을 거쳐 MUX(74)로 접속된다. MUX(74)는 PCI 확장 ROM 기본 주소 레지스터(76)와 모든 논리값 0을 MUX(74)로 부과하는 소스(78)에 접속된다.. 0을 MUX(74)로 부과하는 방법에는 여러 가지 방법이 있다. 예를 들면, 입력부를 낮은 전압 레벨로 제한함으로써 0이 멀티플렉서(74)로 부과될 것이다. MUX(74)의 출력은 PCI 판독 데이터 라인(80)을 통해 주소 비교 수단(82)로 공급될 것이다. 주소 비교 수단(82)는 확장 ROM 디코드 로직 수단(84)의 부분이다.
계속해서 도 9를 참조하면, 확장 ROM 로직 수단(84)는 또한 확장 ROM 판독/기록 상태 머신(86)을 포함하는데, 이 머신은 제어 라인에 의해 내부 버스 슬레이브 상태 머신과 조합 로직 수단(88)에 접속된다. 내부 버스 슬레이브 상태 머신과 조합 로직 수단(88)은 내부 제어 라인에 의해 내부 증설 보드 버스로 접속된다. 확장 ROM 판독/기록 상태 머신(86)은 또한 데이터 저장 래치(data holding latch, 90)에 접속된다. 데이터 저장 래치(90)은 내부 데이터 버스(64)를 통해 내부 증설 보드 버스로 접속된다. PCI 주소 데이터 MUX/DEMUX(92)는 PCI 동일한 이름의 라인을 통해 PCI 확장 ROM 주소 레지스터(76), 주소 비교기 수단(82), 및 데이터 저장 래치 수단(90)에 결합된다. 마지막으로, PCI 슬레이브 상태 머신 및 조합 로직 수단은 확장 ROM 판독/기록 상태 머신(86)을 PCI 상의 제어 라인으로 상호접속시킨다. PCI 슬레이브 상태 머신 및 조합 로직 수단에 대해서는 이미 설명하였으므로 이러한 로직 블럭에 대해 더 이상 설명하지 않겠다.
이제 도 8의 구성 요소의 기능 및 작용에 대해 설명하겠다. 로직은 PCI 확장 ROM 기본 주소 레지스터가 판독/기록 레지스터 또는 모든 비트를 0으로 고정시킨 판독 전용 레지스터로 보일 수 있도록 증설 보드 내부 버스 상의 마이크로프로세서가 제어하는 방법을 나타낸다. 요약하면, PCI 시스템 프로세서는 PCI 증설 보드에 있는 비휘발성 저장 장치의 확장 ROM의 작은 부분(일반적으로 2k byte에서 16k byte)을 직접 판독하거나 기록할 수 있다. PCI 시스템 프로세서는 확장 ROM의 코드를 실행하여 증설 보드에 대한 초기화, 구성 및 시스템 부트 기능을 수행할 수 있다. PCI 시스템 구성 프로그램이 확장 ROM 기본 주소를 PCI 확장 ROM 기본 주소 레지스터에 기록함으로써 PCI 시스템 프로세서의 메모리 맵 내에 확장 ROM의 위치가 형성될 수 있다.
PCI ROM 디스에이블 레지스터는 PCI 버스 인터페이스 칩 내의 레지스터로서 증설 보드 마이크로프로세서가 내부 증설 데이터 버스를 통해 판독할 수 있는 레지스터이다. 본 발명의 하나의 실시예에 의하면, 레지스터에는 PCI ROM 디스에이블 비트라 불리우는 단일 비트가 포함된다. PCI ROM 디스에이블 비트는 PCI시스템의 전원이 켜질 때 PCI-RST # 신호에 의해 논리 0 상태로 리셋된다. PCI-RST # 신호는 모든 PCI 버스 시스템에 있는 구조화된(architectured) 신호이다.
PCI 확장 ROM 기본 주소 레지스터는 PCI 시스템 프로세서에 의해 판독되거나 기록될 수 있다. 마찬가지로, PCI ROM 디스에이블 비트는 증설 보드 프로세서에 의해 기록될 수 있다. 판독 연산시에, PCI ROM 디스에이블 비트는 PCI 확장 ROM 기본 주소 레지스터에서 PCI 시스템 프로세서로 복귀되는 판독 데이터를 제어한다. 0 상태에 있을 때, PCI ROM 디스에이블 비트는 멀티플렉서 로직(74)에 PCI 확장 ROM 기본 주소 레지스터의 정확한 내용(true contents)을 복귀시키도록 알린다. 이러한 방식에 의하면, PCI 확장 ROM 기능이 인에이블되고 PCI 시스템 프로세서는 그가 레지스터에 기록하였던 임의의 값을 다시 판독할 수 있게 된다. 증설 보드의 내부 버스 상의 마이크로프로세서는 PCI ROM 디스에이블 비트을 논리값 1로 기록함으로써 PCI 확장 ROM 기능을 디스에이블시킬 수도 있다. 이러한 방식에서, 멀티플렉서 로직은 항상 논리값 0을 출력하고(gate out) 확장 ROM 기본 주소 레지스터는 그 레지스터에 어떠한 값이 기록되어 있는지 상관없이 논리값 0을 복귀하게 된다.
멀티플렉서의 데이터 출력은 또한 확장 ROM 디코드 로직 수단(84)에 공급된다. 멀티플렉서의 데이터 출력이 모두 0인 경우, 디코드 로직은 디스에이블되고 어떠한 확장 ROM 기능도 지원되지 않는다. 멀티플렉서의 데이터 출력이 0이 아니라면, 확장 ROM 디코드 로직은 현재의 PCI 버스 주소와 확장 ROM 기본 주소 레지스터의 내용을 비교하여 확장 ROM이 PCI 시스템 프로세서에 의해 액세스될 수 있는지 판단한다. 주소의 일치(match)가 감지되면, 확장 ROM 판독/기록 상태 머신(86)은 활성화되어 판독 또는 기록 연산을 확장 ROM에게 제공한다.
PCI 시스템 프로세서가 확장 ROM을 판독한 경우, 확장 ROM 판독/기록 상태 머신은 증설 보드의 내부 버스 상에 비휘발성 저장 장치의 판독 사이클을 개시하여 판독 데이터를 인출한다. 필요한 핸드쉐이킹이 발생하여 데이터가 PCI 데이터 버스 상의 PCI 시스템 프로세서에 전달될 수 있을 때까지 확장 ROM 판독/기록 상태 머신은 데이터 저장 래치 수단(90)에 그 데이터를 포착하여(capture) 일시적으로 저장한다. PCI 시스템 프로세서가 확장 ROM을 기록하는 경우, 확장 ROM 판독/기록 상태 머신은 PCI 데이터 버스로부터 기록 데이터를 일시적으로 포착하여 증설 보드의 내부 데이터 버스 상의 비휘발성 저장 장치로의 기록 연산을 개시한다. 확장 ROM 판독/기록 상태 머신은 PCI 슬레이브 상태 머신 및 조합 로직 수단과 상호 작용하고 PCI 슬레이브 상태 머신 및 조합 로직 수단은 이 두 버스 사이에서 데이터를 전송하기 위해 필요한 핸드쉐이킹을 제공한다.
증설 보드 상에 마이크로프로세서를 포함하지 않는 어플리케이션의 경우, PCI 확장 ROM 기본 주소 레지스터의 값이 0으로 판독될 수 있도록 하기 위해 다른 방법이 제공된다. PCI 버스 인터페이스 칩으로의 PCI ROM 디스에이블 입력 단자(72)는 일반적으로 비활성 로우 상태로 종결되어 PCI ROM 디스에이블 비트가 레지스터로부터 판독된 값을 제어할 수 있도록 한다. 마이크로프로세서가 이용 가능하지 않은 경우, PCI ROM 디스에이블 입력은 활성 하이 상태로 종결되어 PCI 확장 ROM 기본 주소 레지스터가 0을 읽을 수 있도록 한다. PCI ROM 디스에이블 입력 상태는 PCI ROM 디스에이블 비트 상태와 논리적으로 OR되어, 최종 ROM 디스에이블 라인(71) 상의 신호를 생성하는데, 이 신호는 멀티플렉서 로직(74)를 제어한다.
도 8은 PCI 시스템 프로세서, 증설 보드 구성 레지스터, 및 증설 보드 마이크로프로세서 간의 상호 작용을 도시한 흐름도이다. 확장 ROM 기능을 인에이블하거나 디스에이블하기 위한 목적으로, PCI 증설 보드 구성 레지스터를 92로 표시한다. PCI 시스템 프로세서에 의해 수행되는 동작은 도면의 좌측에 도시되어 있고, 증설 보드 마이크로프로세서에 의해 이루어지는 동작은 도면의 우측에 도시되어 있다. 각각의 프로세서와 레지스터 사이의 상호 동작은 화살표에 의해 도시되어 있다. 재시도라 표시된 화살표는 PCI 프로세서를 재시도 모드가 되도록 하여 구성 레지스터를 액세스할 수 없도록 하는 환경을 표시한 것이다. PCI 시스템의 전원이 켜지면서 프로세스는 시작된다(94). 그런 후에, 프로세스는 블럭(96)으로 진행하여, PCI 시스템 프로세서가 PCI 증설 보드 구성 레지스터를 액세스하려는 시도를 하고 그 시도는 이미 설명했던 PCI 인터페이스 칩 상의 제어기에 의해 차단된다. 레지스터를 액세스하는 것은 구성 판독 또는 기록 이라 표시된 라인으로 도시되어 있고 차단은 재시도(retry)라 표시된 화살표로 도시되어 있다. 그런 후에, 프로세스는 블럭(102) 또는 블럭(104)로 진행한다. 레지스터에서 판독된 값이 모두 0인 경우, 프로세스는 블럭(102)로 진행하고 시스템 프로세서는 ROM이 존재하지 않는다고 판단하므로, 별다른 구성 동작이 필요없게 된다. ROM 기본 주소 레지스터로부터 판독한 값이 0이 아닌 경우, 프로세스는 블럭(104)로 진행하여 PCI 시스템 프로세서는 확장 ROM이 존재한다고 판단하게 되고, 따라서 구성을 위해 ROM의 내용을 그 자신의 메모리로 가져 온다.
계속해서 도 8을 참조하면, PCI 시스템 프로세서가 PCI 구성 레지스터를 액세스하는 것으로부터 금지되는 동안, PCI 증설 보드 마이크로프로세서(106)은 PCI 확장 ROM 기능을 인에이블하거나 디스에이블하기 위해 PCI ROM 디스에이블 비트를 기록한다. 프로그램은 그런 후에 블럭(108)로 진행하는데, 여기에서 PCI 증설 보드 마이크로프로세서는 PCI 액세스 승인 비트를 기록하여 PCI 시스템 프로세서가 구성 레지스터를 액세스할 수 있도록 한다.
동작(operation)
지금부터 본 발명의 동작에 대해 설명하겠다. 본 발명은 프로그래머블 구성 레지스터를 제공하여 PCI 컴퓨터 시스템의 증설 보드에서 사용한다. 요약하면, PCI 증설 보드 상의 마이크로프로세서(도 1의 12b)는 PCI 시스템 구성 소프트웨어가 증설 보드의 판독 전용 PCI 구성 레지스터를 액세스하기 이전에, 특정 값을 상기 레지스터에 프리-로드한다. 따라서, 복수의 벤더에 의해 생산되고 서로 다른 유형의 기능을 구현한 증설 보드들에 공통의 PCI 버스 인터페이스 칩이 사용될 수 있다. 본 발명은 또한 증설 보드의 확장 ROM을 디스에이블하거나 인에이블할 수 있다.
특히, 마이크로프로세서와 비휘발성 저장 장치는 일반적으로 증설 보드에 본래 존재하는 구성 요소들이다. 마이크로프로세서와 비휘발성 저장 장치는 내부 증설 보드 버스(12c)에 배치되어 있다. 이러한 버스는 PCI 버스 인터페이스 칩에 의해 PCI 버스로부터 격리된다. PCI 시스템의 전원이 켜진 경우, PCI-RST # 라인(도 4) 상의 신호는 PCI 액세스 승인 비트(30)을 0으로 세트한다. 동시에, PCI 버스 인터페이스 칩 상의 제어기에 해당하는 PCI 슬레이브 상태 머신 및 조합 로직(31)은 PCI 프로세서가 소위 재시도 모드로 들어갈 수 있도록 PCI 제어 신호 중의 하나를 선택하여 활성시킨다.
그동안, PCI 프로세서가 PCI 인터페이스 칩 상의 레지스터를 액세스하는 것이 금지될 때, 마이크로프로세서(12b)는, PCI 시스템의 전원이 리셋된 다음에, 할당된 판독 전용 PCI 구성 레지스터 값을 비휘발성 저장 장치(도 1의 12d)의 프로그램된 위치로부터 판독한다. 예를 들면, 비휘발성 저장 장치는 플래시, RAM, ROM 등이 될 수 있다. 그런 후에, 마이크로프로세서는 PCI 버스 인터페이스 칩 내의 PCI 구성 레지스터에 특정 값을 기록한다. 이 시점에서, 확장 ROM이 디스에이블될 예정이라면, PCI ROM 디스에이블 비트가 또한 논리 1로 세트된다. 확장 ROM이 인에이블될 경우, PCI 확장 ROM 디스에이블 비트는 그의 논리값 0인 상태로 남아 있다. PCI 프로세서가 PCI 버스 인터페이스 칩내의 구성 또는 그밖의 레지스터를 액세스하지 못하게 하는 재시도 상태를 해제하기 위해, 마이크로프로세서는 PCI 액세스 승인 비트(도 4의 24)를 기록한다. 이러한 비트를 기록함으로써 최종 액세스 승인 신호 라인(32) 상의 최종 액세스 신호가 활성 상태로 되고 PCI 슬레이브 상태 머신 및 조합 로직 수단(31)은 이전에 활성화되었던 PCI 제어 신호 라인을 비활성시킨다. 이는, 결국, PCI 프로세서가 구성 레지스터를 액세스할 수 있도록 한다. 이들 레지스터에 대한 모든 액세스는 PCI 시스템 프로세서(도1 의 14) 상에서 실행되는 PCI 시스템 구성 레지스터에 의해 제어된다..
또한, 증설 보드에 마이크로프로세서 및 비휘발성 저장 장치가 존재하는 어플리케이션의 PCI 버스 인터페이스 칩을 사용하는 것도 바람직하다. 또한, 판독 전용 레지스터에 포함된 값의 정확도가 중요하지 않은 전용 어플리케이션(dedicated application)에 그 칩을 사용하는 것도 바람직하다. 어느 경우이든, 본 발명은 PCI 액세스 승인 비트의 기능이 입력 핀(도 3의 22)에 의해 무효될 수 있도록 한다. PCI 액세스 무효 핀(override pin)이 비활성 하이 상태로 종결되는 경우, PCI 승인 액세스 무효 핀은 PCI 구성 액세스에 대한 재시도가 전술한 바와 같이 PCI 액세스 승인 비트에 의해 제어될 수 있도록 한다. 그러나, 그것이 활성 로우 상태로 종결되는 경우, PCI 액세스 무효 입력 핀은 PCI 액세스 승인 비트의 기능을 무효로 하고 PCI 버스로부터의 모든 구성 엑세스가 재시도 없이 정상적으로 서비스되도록 할 것이다. 이러한 경우에는, 전원이 켜질 때의 판독 전용 PCI 구성 레지스터 기본 값을 사용하고 특정 값을 로드하는 기능은 지원되지 않는다.
본 발명의 바람직한 실시예에 대해 상세히 설명하였지만, 그에 대한 다른 변형 및 실시예가 첨부된 청구항의 정신 및 범위를 벗어나지 않고서 포함된다는 것을 통상의 지식을 가진 자라면 이해할 것이다.

Claims (18)

  1. PCI 컴퓨터 시스템에서 사용하기 위한 증설 보드(add-in board)에 있어서,
    제1 버스와,
    선정된 기능을 수행하기 위해 상기 제1 버스에 결합되어 소정의 태스크(task)를 완수하는 서브-어셈블리(sub-assembly) 수단과,
    상기 제1 버스에 결합되어 있는 비휘발성 저장 수단 - 상기 비휘발성 저장 수단은 상기 제1 버스에 접속되어 있지 않은 프로세서에 의해 실행될 코드(code)를 구비한 확장(extension) ROM을 포함함 -과,
    상기 제1 버스에 결합되어 있는 온-보드 마이크로프로세서(on-board microprocessor)와,
    선정된 기능을 수행하기 위해 상기 제1 버스에 결합되어 소정의 태스크(task)를 완수하는 서브-어셈블리(sub-assembly) 수단과,
    상기 제1 버스와 제2 버스를 상호접속시키는 PCI 버스 인터페이스 칩 - 상기 PCI 버스 인터페이스 칩은 상기 온-보드 마이크로프로세서에 의해 액세스될 수 있는 적어도 하나의 비트를 갖는 적어도 하나의 제어 레지스터를 포함함 -과,
    상기 제1 버스에 접속되어 있지 않은 상기 프로세서에 의해 액세스될 수 있는 PCI 확장 ROM 기본 주소 레지스터와,
    상기 적어도 하나의 비트의 논리 상태에 따라 선정된 비트 패턴(predetermined bit pattern ) - 상기 선정된 비트 패턴은 확장 ROM이 없음을 상기 제1 버스에 접속되어 있지 않은 상기 프로세서에 알려 주는 것임 - 이 상기 PCI 확장 ROM 기본 주소 레지스터로부터 출력되도록 하는 로직(logic) 수단
    을 포함하는 PCI 컴퓨터 시스템용 증설 보드.
  2. 제1항에 있어서, 상기 제1 버스에 접속되어 있지 않은 상기 프로세서는 상기 PCI 컴퓨터 시스템에 배치되어 있는 PCI 프로세서에 해당하는 PCI 컴퓨터 시스템용 증설 보드.
  3. 제1항 또는 제2항에 있어서, 상기 서브-어셈블리 수단은 선정된 기능을 수행하여 상기 PCI 시스템을 LAN에 부착시키는 통신 제어기의 소정의 태스크를 완수하는 PCI 컴퓨터 시스템용 증설 보드.
  4. 제3항에 있어서, 상기 LAN은 이더넷(ethernet), 토큰 링(token ring), FDDI, 또는 ATM을 포함하는 PCI 컴퓨터 시스템용 증설 보드.
  5. 제1항 또는 제2항에 있어서, 상기 서브-어셈블리 수단은 상기 선정된 기능을 수행하여 장치 제어기의 소정의 태스크를 완수하는 PCI 컴퓨터 시스템용 증설 보드.
  6. 제5항에 있어서, 상기 장치 제어기는 디스플레이, 멀티미디어, 디스크, 서브-어셈블리, 또는 보조 프로세서 서브시스템을 제어하는 PCI 컴퓨터 시스템용 증설 보드.
  7. 제1항에 있어서, 상기 확장 ROM은 상기 비휘발성 저장 수단의 2 kbyte에서 16 kbyte를 차지하는 PCI 컴퓨터 시스템용 증설 보드.
  8. 제1항에 있어서, 상기 제2 버스는 PCI 버스를 포함하는 PCI 컴퓨터 시스템용 증설 보드.
  9. 제1항에 있어서, 상기 로직 수단은 논리 OR 회로를 포함하는 PCI 컴퓨터 시스템용 증설 보드.
  10. 제8항에 있어서,
    PCI 확장 ROM 기본 주소 레지스터에 결합되는 입력 단자를 구비한 멀티플렉서 회로 수단(MUX)과,
    상기 PCI 확장 ROM 기본 주소 레지스터의 또다른 입력 단자에 접속되는 상기 선정된 비트 패턴을 제공하기 위한 수단과,
    상기 멀티플렉서 회로 수단을 상기 PCI 버스와 상호접속시키기 위한 PCI 주소/데이터 MUX/DEMUX를 더 포함하는 PCI 컴퓨터 시스템용 증설 보드.
  11. 제10항에 있어서, 상기 멀티플렉서 회로 수단 및 상기 PCI 주소/데이터 MUX/DEMUX의 출력 단자에 결합되는 확장 ROM 디코드 로직 수단을 더 포함하며, 상기 확장 ROM 디코드 로직 수단은 상기 멀티플렉서 회로 수단 및 상기 PCI 주소/데이터 MUX/DEMUX를 감시하여 상기 멀티플렉서 회로 수단의 주소가 상기 PCI 주소/데이터 MUX/DEMUX로부터 출력된 주소와 일치하는 경우에 상기 PCI 확장 ROM의 판독 또는 기록을 실행하는 상기 PCI 컴퓨터 시스템용 증설 보드.
  12. 제9항에 있어서, 상기 선정된 비트 패턴은 모두 논리 0 값을 포함하는 PCI 컴퓨터 시스템용 증설 보드.
  13. 제10항에 있어서, 상기 증설 보드 상의 핀(pin)과 상기 OR 논리 회로의 입력 단자를 상호접속시키는 콘덕터 수단을 더 포함하는 PCI 컴퓨터 시스템용 증설 보드.
  14. 증설 보드를 PCI 컴퓨터의 PCI 버스에 결합시키기 위한 인터페이스 서브시스템에 있어서,
    상기 증설 보드 상의 확장 ROM이 디스에이블될 경우 제1 상태로 세트되는 적어도 하나의 비트를 구비한 적어도 하나의 제어 레지스터와,
    상기 PCI 컴퓨터에 의해 생성된 제1 선정 비트 패턴을 수신하고 저장하기 위한 레지스터 수단과,
    제2 선정 비트 패턴을 생성하기 위한 수단과,
    제어 신호의 상태에 따라 상기 제1 선정 비트 패턴 또는 상기 상기 제2 비트 패턴을 선택하기 위한 선택 회로 수단과,
    상기 적어도 하나의 비트를 검사하여 상기 적어도 하나의 비트가 제1 선정 상태로 세트되어 있는 경우 상기 제어 신호를 제1 전기적 상태로 세트하는 논리 회로 수단을 포함하며,
    상기 선택 회로 수단은 상기 제2 선정 비트 패턴을 선택하여 상기 제2 선정 비트 패턴을 상기 PCI 컴퓨터에 보내고, 상기 PCI 컴퓨터는 상기 제2 선정 비트를 검사하여 제1 선정 값으로 설정되어 있는 경우 상기 증설 보드에 확장 ROM이 존재하지 않음을 표시하는
    인터페이스 서브시스템.
  15. 제14항에 있어서, 상기 제1 선정 상태는 논리값 1을 포함하는 인터페이스 서브시스템.
  16. 제15항에 있어서, 상기 선정 값은 논리값 0을 포함하는 인터페이스 서브시스템.
  17. 제14항에 있어서, 상기 적어도 하나의 비트가 제2 선정 상태로 세트되어 있는 경우 상기 제어 신호를 제2 전기적 상태로 세트하는 것을 더 포함하며, 상기 선택 회로 수단은 상기 제1 비트 패턴을 선택하여 상기 제1 비트 패턴을 상기 PCI 컴퓨터에 보내고, 상기 PCI 컴퓨터는 상기 제1 비트 패턴을 검사하여 제2 선정 값으로 세트되어 있는 경우, 상기 증설 보드 상에 확장 ROM이 존재함을 표시하는
    인터페이스 서브시스템.
  18. 제17항에 있어서, 상기 제2 선정 값은 논리값 1을 포함하는 인터페이스 서브시스템.
KR1019970707252A 1995-05-22 1996-05-03 Pci 버스 컴퓨터용 인에이블/디스에이블 확장 rom을구비한 증설 보드 KR100262677B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/447022 1995-05-22
US08/447,022 US5608876A (en) 1995-05-22 1995-05-22 Add-in board with enable-disable expansion ROM for PCI bus computers
US8/447,022 1995-05-22

Publications (2)

Publication Number Publication Date
KR19980703852A true KR19980703852A (ko) 1998-12-05
KR100262677B1 KR100262677B1 (ko) 2000-08-01

Family

ID=23774695

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970707252A KR100262677B1 (ko) 1995-05-22 1996-05-03 Pci 버스 컴퓨터용 인에이블/디스에이블 확장 rom을구비한 증설 보드

Country Status (8)

Country Link
US (1) US5608876A (ko)
EP (1) EP0827609B1 (ko)
JP (1) JP3364495B2 (ko)
KR (1) KR100262677B1 (ko)
CN (1) CN1085864C (ko)
DE (1) DE69602091D1 (ko)
PL (2) PL182189B1 (ko)
WO (1) WO1996037842A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030083074A (ko) * 2002-04-19 2003-10-30 주식회사 하이닉스반도체 적응성을 갖는 pci 버스 제어 장치

Families Citing this family (121)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5737524A (en) * 1995-05-22 1998-04-07 International Business Machines Corporation Add-in board with programmable configuration registers for use in PCI bus computers
US5838935A (en) * 1995-06-15 1998-11-17 Intel Corporation Method and apparatus providing programmable decode modes for secondary PCI bus interfaces
US5734848A (en) * 1995-07-24 1998-03-31 Symbios Logic Inc. Method and appartus for transferring data in a controller having centralized memory
US5859987A (en) * 1995-09-29 1999-01-12 Intel Corporation Method and apparatus for providing multiple configuration reset modes for an intelligent bridge
US5835760A (en) * 1995-10-13 1998-11-10 Texas Instruments Incorporated Method and arrangement for providing BIOS to a host computer
US5960213A (en) * 1995-12-18 1999-09-28 3D Labs Inc. Ltd Dynamically reconfigurable multi-function PCI adapter device
GB2347534B (en) * 1995-12-28 2000-11-08 Intel Corp A method and apparatus for interfacing a device compliant to first bus protocol to an external bus
US5790814A (en) * 1996-01-23 1998-08-04 Dell U.S.A., L.P. Technique for supporting semi-compliant PCI devices behind a PCI-to-PCI bridge
US6023565A (en) 1996-03-29 2000-02-08 Xilinx, Inc. Method for configuring circuits over a data communications link
US5881254A (en) * 1996-06-28 1999-03-09 Lsi Logic Corporation Inter-bus bridge circuit with integrated memory port
US5937174A (en) * 1996-06-28 1999-08-10 Lsi Logic Corporation Scalable hierarchial memory structure for high data bandwidth raid applications
US5748911A (en) * 1996-07-19 1998-05-05 Compaq Computer Corporation Serial bus system for shadowing registers
KR100256442B1 (ko) * 1996-08-05 2000-05-15 윤종용 아날로그버스를 갖는 멀티미디어장치
US5978878A (en) * 1996-09-26 1999-11-02 Vlsi Technology Selective latency reduction in bridge circuit between two busses
US6092141A (en) * 1996-09-26 2000-07-18 Vlsi Technology, Inc. Selective data read-ahead in bus-to-bus bridge architecture
US5832238A (en) * 1996-10-18 1998-11-03 Advanced Micro Devices, Inc. Enabling PCI configuration space for multiple functions
US6243773B1 (en) * 1997-05-13 2001-06-05 Micron Electronics, Inc. Configuration management system for hot adding and hot replacing devices
US6272648B1 (en) * 1997-05-13 2001-08-07 Micron Electronics, Inc. System for communicating a software-generated pulse waveform between two servers in a network
US5987554A (en) * 1997-05-13 1999-11-16 Micron Electronics, Inc. Method of controlling the transfer of information across an interface between two buses
US6052733A (en) * 1997-05-13 2000-04-18 3Com Corporation Method of detecting errors in a network
US6134678A (en) * 1997-05-13 2000-10-17 3Com Corporation Method of detecting network errors
US6122758A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for mapping environmental resources to memory for program access
US6314525B1 (en) 1997-05-13 2001-11-06 3Com Corporation Means for allowing two or more network interface controller cards to appear as one card to an operating system
US5892928A (en) * 1997-05-13 1999-04-06 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a dynamically loaded adapter driver
US6189109B1 (en) 1997-05-13 2001-02-13 Micron Electronics, Inc. Method of remote access and control of environmental conditions
US6418492B1 (en) 1997-05-13 2002-07-09 Micron Electronics Method for computer implemented hot-swap and hot-add
US6134614A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface
US6304929B1 (en) 1997-05-13 2001-10-16 Micron Electronics, Inc. Method for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6195717B1 (en) * 1997-05-13 2001-02-27 Micron Electronics, Inc. Method of expanding bus loading capacity
US6324608B1 (en) * 1997-05-13 2001-11-27 Micron Electronics Method for hot swapping of network components
US6202160B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. System for independent powering of a computer system
US6148355A (en) * 1997-05-13 2000-11-14 Micron Electronics, Inc. Configuration management method for hot adding and hot replacing devices
US6499073B1 (en) 1997-05-13 2002-12-24 Micron Electronics, Inc. System using programmable processor for selectively enabling or disabling power to adapter in response to respective request signals
US6219734B1 (en) 1997-05-13 2001-04-17 Micron Electronics, Inc. Method for the hot add of a mass storage adapter on a system including a statically loaded adapter driver
US6249885B1 (en) 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6122746A (en) * 1997-05-13 2000-09-19 Micron Electronics, Inc. System for powering up and powering down a server
US5962933A (en) * 1997-05-13 1999-10-05 Micron Electronics, Inc. Computer fan speed control method
US6292905B1 (en) 1997-05-13 2001-09-18 Micron Technology, Inc. Method for providing a fault tolerant network using distributed server processes to remap clustered network resources to other servers during server failure
US6134615A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. System for facilitating the replacement or insertion of devices in a computer system through the use of a graphical user interface
US6282673B1 (en) 1997-05-13 2001-08-28 Micron Technology, Inc. Method of recording information system events
US6249834B1 (en) 1997-05-13 2001-06-19 Micron Technology, Inc. System for expanding PCI bus loading capacity
US6192434B1 (en) 1997-05-13 2001-02-20 Micron Electronics, Inc System for hot swapping a programmable adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6338150B1 (en) 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6247079B1 (en) * 1997-05-13 2001-06-12 Micron Electronics, Inc Apparatus for computer implemented hot-swap and hot-add
US6253334B1 (en) 1997-05-13 2001-06-26 Micron Electronics, Inc. Three bus server architecture with a legacy PCI bus and mirrored I/O PCI buses
US6179486B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Method for hot add of a mass storage adapter on a system including a dynamically loaded adapter driver
US6526333B1 (en) 1997-05-13 2003-02-25 Micron Technology, Inc. Computer fan speed control system method
US6330690B1 (en) 1997-05-13 2001-12-11 Micron Electronics, Inc. Method of resetting a server
US6105151A (en) * 1997-05-13 2000-08-15 3Com Corporation System for detecting network errors
US6138250A (en) * 1997-05-13 2000-10-24 Micron Electronics, Inc. System for reading system log
US6247898B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Computer fan speed control system
US6249828B1 (en) 1997-05-13 2001-06-19 Micron Electronics, Inc. Method for the hot swap of a mass storage adapter on a system including a statically loaded adapter driver
US6363497B1 (en) 1997-05-13 2002-03-26 Micron Technology, Inc. System for clustering software applications
US5990582A (en) * 1997-05-13 1999-11-23 Micron Electronics, Inc. Computer fan speed control device
US6182180B1 (en) 1997-05-13 2001-01-30 Micron Electronics, Inc. Apparatus for interfacing buses
US6170028B1 (en) 1997-05-13 2001-01-02 Micron Electronics, Inc. Method for hot swapping a programmable network adapter by using a programmable processor to selectively disabling and enabling power thereto upon receiving respective control signals
US6145098A (en) 1997-05-13 2000-11-07 Micron Electronics, Inc. System for displaying system status
US6134673A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method for clustering software applications
US6202111B1 (en) 1997-05-13 2001-03-13 Micron Electronics, Inc. Method for the hot add of a network adapter on a system including a statically loaded adapter driver
US6269417B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Method for determining and displaying the physical slot number of an expansion bus device
US6243838B1 (en) 1997-05-13 2001-06-05 Micron Electronics, Inc. Method for automatically reporting a system failure in a server
US6073255A (en) * 1997-05-13 2000-06-06 Micron Electronics, Inc. Method of reading system log
US6173346B1 (en) 1997-05-13 2001-01-09 Micron Electronics, Inc. Method for hot swapping a programmable storage adapter using a programmable processor for selectively enabling or disabling power to adapter slot in response to respective request signals
US6170067B1 (en) * 1997-05-13 2001-01-02 Micron Technology, Inc. System for automatically reporting a system failure in a server
US6134668A (en) * 1997-05-13 2000-10-17 Micron Electronics, Inc. Method of selective independent powering of portion of computer system through remote interface from remote interface power supply
US6208616B1 (en) 1997-05-13 2001-03-27 3Com Corporation System for detecting errors in a network
US6269412B1 (en) 1997-05-13 2001-07-31 Micron Technology, Inc. Apparatus for recording information system events
US6247080B1 (en) 1997-05-13 2001-06-12 Micron Electronics, Inc. Method for the hot add of devices
US6163849A (en) 1997-05-13 2000-12-19 Micron Electronics, Inc. Method of powering up or powering down a server to a maintenance state
AU7815798A (en) * 1997-06-02 1998-12-30 Harris Corporation Server load sharing and redundancy and method
US5918028A (en) * 1997-07-08 1999-06-29 Motorola, Inc. Apparatus and method for smart host bus adapter for personal computer cards
US6128718A (en) * 1997-08-28 2000-10-03 Intel Corporation Apparatus and method for a base address register on a computer peripheral device supporting configuration and testing of address space size
US6175490B1 (en) 1997-10-01 2001-01-16 Micron Electronics, Inc. Fault tolerant computer system
US6009541A (en) * 1997-10-01 1999-12-28 Micron Electronics, Inc. Apparatus for performing an extensive diagnostic test in conjunction with a bios test routine
US5889965A (en) * 1997-10-01 1999-03-30 Micron Electronics, Inc. Method for the hot swap of a network adapter on a system including a dynamically loaded adapter driver
US6088816A (en) * 1997-10-01 2000-07-11 Micron Electronics, Inc. Method of displaying system status
US6065053A (en) * 1997-10-01 2000-05-16 Micron Electronics, Inc. System for resetting a server
US6212585B1 (en) 1997-10-01 2001-04-03 Micron Electronics, Inc. Method of automatically configuring a server after hot add of a device
US6154835A (en) * 1997-10-01 2000-11-28 Micron Electronics, Inc. Method for automatically configuring and formatting a computer system and installing software
US6263387B1 (en) 1997-10-01 2001-07-17 Micron Electronics, Inc. System for automatically configuring a server after hot add of a device
US6208772B1 (en) * 1997-10-17 2001-03-27 Acuity Imaging, Llc Data processing system for logically adjacent data samples such as image data in a machine vision system
US5999476A (en) * 1997-11-21 1999-12-07 Advanced Micro Devices, Inc. Bios memory and multimedia data storage combination
US6108733A (en) * 1998-01-20 2000-08-22 Micron Technology, Inc. Method for extending the available number of configuration registers
US6243775B1 (en) 1998-01-20 2001-06-05 Micron Technology, Inc. System for extending the available number of configuration registers
US6272576B1 (en) 1998-01-20 2001-08-07 Micron Technology, Inc. Method for extending the available number of configuration registers
US6065067A (en) * 1998-03-05 2000-05-16 Compaq Computer Corporation System, method and program for controlling access to an input/output device possible resource settings data in an advanced configuration and power interface operating system
US6421746B1 (en) 1998-03-26 2002-07-16 Micron Electronics, Inc. Method of data and interrupt posting for computer devices
US6298409B1 (en) 1998-03-26 2001-10-02 Micron Technology, Inc. System for data and interrupt posting for computer devices
US6073206A (en) 1998-04-30 2000-06-06 Compaq Computer Corporation Method for flashing ESCD and variables into a ROM
US6216224B1 (en) * 1998-06-05 2001-04-10 Micron Technology Inc. Method for read only memory shadowing
US6330667B1 (en) * 1998-06-05 2001-12-11 Micron Technology, Inc. System for read only memory shadowing circuit for copying a quantity of rom data to the ram prior to initialization of the computer system
US6205503B1 (en) 1998-07-17 2001-03-20 Mallikarjunan Mahalingam Method for the hot swap and add of input/output platforms and devices
US6223234B1 (en) 1998-07-17 2001-04-24 Micron Electronics, Inc. Apparatus for the hot swap and add of input/output platforms and devices
JP2000035939A (ja) * 1998-07-21 2000-02-02 Alps Electric Co Ltd インテリジェント型pcアドインボード
US6721379B1 (en) 1998-09-25 2004-04-13 International Business Machines Corporation DAC/Driver waveform generator with phase lock rise time control
US6249164B1 (en) 1998-09-25 2001-06-19 International Business Machines Corporation Delay circuit arrangement for use in a DAC/driver waveform generator with phase lock rise time control
US6529989B1 (en) * 2000-05-03 2003-03-04 Adaptec, Inc. Intelligent expansion ROM sharing bus subsystem
JP2002077211A (ja) * 2000-08-29 2002-03-15 Canon Inc 情報処理装置およびその方法、並びに、記録媒体
US6970951B2 (en) * 2001-05-04 2005-11-29 Texas Instruments Incorporated Method and device for providing and external interface using a programmed configuration bit in flash memory
US6877060B2 (en) * 2001-08-20 2005-04-05 Intel Corporation Dynamic delayed transaction buffer configuration based on bus frequency
US7024494B1 (en) 2003-05-12 2006-04-04 Cisco Technology, Inc. Method and system for configuring a peripheral card in a communications environment
US7194663B2 (en) * 2003-11-18 2007-03-20 Honeywell International, Inc. Protective bus interface and method
US20050262391A1 (en) * 2004-05-10 2005-11-24 Prashant Sethi I/O configuration messaging within a link-based computing system
US20060020726A1 (en) * 2004-07-25 2006-01-26 Kazuo Fujii Controlling enablement and disablement of computing device component
US7987312B2 (en) * 2004-07-30 2011-07-26 Via Technologies, Inc. Method and apparatus for dynamically determining bit configuration
US7702789B2 (en) * 2005-11-03 2010-04-20 International Business Machines Corporation Apparatus, system, and method for reassigning a client
KR100667954B1 (ko) * 2005-11-11 2007-01-11 (재)대구경북과학기술연구원 설계유연성을 가지는 피시아이 타겟컨트롤러
US7873754B2 (en) * 2006-02-17 2011-01-18 International Business Machines Corporation Structure for option ROM characterization
US7526578B2 (en) * 2006-02-17 2009-04-28 International Business Machines Corporation Option ROM characterization
US7549040B2 (en) * 2006-04-19 2009-06-16 International Business Machines Corporation Method and system for caching peripheral component interconnect device expansion read only memory data
US20080040544A1 (en) * 2006-08-08 2008-02-14 Jason Caulkins Computer System For Reading And Writing Data
US8176207B2 (en) * 2008-03-26 2012-05-08 Lsi Corporation System debug of input/output virtualization device
CN101576817B (zh) * 2008-05-09 2012-08-08 华为技术有限公司 处理器系统及其工作方法
JP6548636B2 (ja) * 2014-05-16 2019-07-24 ソニーセミコンダクタソリューションズ株式会社 情報処理装置、情報処理方法、および電子機器
US10126981B1 (en) 2015-12-14 2018-11-13 Western Digital Technologies, Inc. Tiered storage using storage class memory
US10769062B2 (en) 2018-10-01 2020-09-08 Western Digital Technologies, Inc. Fine granularity translation layer for data storage devices
US10956071B2 (en) 2018-10-01 2021-03-23 Western Digital Technologies, Inc. Container key value store for data storage devices
US10740231B2 (en) 2018-11-20 2020-08-11 Western Digital Technologies, Inc. Data access in data storage device including storage class memory
US11016905B1 (en) 2019-11-13 2021-05-25 Western Digital Technologies, Inc. Storage class memory access
KR20210088272A (ko) 2020-01-06 2021-07-14 한국전자통신연구원 성능가속장치를 위한 고집적 확장장치 및 이의 제어방법
US11249921B2 (en) 2020-05-06 2022-02-15 Western Digital Technologies, Inc. Page modification encoding and caching

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4340932A (en) * 1978-05-17 1982-07-20 Harris Corporation Dual mapping memory expansion unit
US4864601A (en) * 1988-04-20 1989-09-05 Berry Wayne F Integrated voice data workstation
CA1327851C (en) * 1988-06-22 1994-03-15 Amy S. Christopher Reconfigurable printer
JPH0223440A (ja) * 1988-07-13 1990-01-25 Toshiba Corp パーソナルコンピュータ
US5129069A (en) * 1989-01-24 1992-07-07 Zenith Data Systems Corporation Method and apparatus for automatic memory configuration by a computer
US5253357A (en) * 1991-06-13 1993-10-12 Hewlett-Packard Company System for determining pluggable memory characteristics employing a status register to provide information in response to a preset field of an address

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030083074A (ko) * 2002-04-19 2003-10-30 주식회사 하이닉스반도체 적응성을 갖는 pci 버스 제어 장치

Also Published As

Publication number Publication date
PL323387A1 (en) 1998-03-30
EP0827609B1 (en) 1999-04-14
WO1996037842A1 (en) 1996-11-28
KR100262677B1 (ko) 2000-08-01
PL182189B1 (pl) 2001-11-30
JPH09508227A (ja) 1997-08-19
EP0827609A1 (en) 1998-03-11
CN1185218A (zh) 1998-06-17
JP3364495B2 (ja) 2003-01-08
PL183127B1 (pl) 2002-05-31
US5608876A (en) 1997-03-04
CN1085864C (zh) 2002-05-29
DE69602091D1 (de) 1999-05-20

Similar Documents

Publication Publication Date Title
KR100262677B1 (ko) Pci 버스 컴퓨터용 인에이블/디스에이블 확장 rom을구비한 증설 보드
KR100264632B1 (ko) Pci버스컴퓨터용프로그래머블구성레지스터를구비한증설보드
US5729767A (en) System and method for accessing peripheral devices on a non-functional controller
US5802269A (en) Method and apparatus for power management of distributed direct memory access (DDMA) devices
CA2082118C (en) Computer, and apparatus and method for system reconfiguration thereof
US5682512A (en) Use of deferred bus access for address translation in a shared memory clustered computer system
US5781774A (en) Processor having operating modes for an upgradeable multiprocessor computer system
EP1011050B1 (en) A method and system for providing hot plug of adapter cards in an expanded slot environment
US5734850A (en) Transparent bridge between of a computer system and a method of interfacing the buses to operate as a single logical bus
EP0780772A2 (en) A computer system with multiple PC card controllers and a method of controlling I/O transfers in the system
US6134579A (en) Semaphore in system I/O space
US6295566B1 (en) PCI add-in-card capability using PCI-to-PCI bridge power management
EP1252569B1 (en) Virtual rom for device enumeration
US20010018721A1 (en) Upgrade card for a computer system
JPH10500238A (ja) コンピュータシステム中の複数のエージェントをコンフィギュレーションする方法及びそのための装置
US6212587B1 (en) Device proxy agent for hiding computing devices on a computer bus
EP0836141B1 (en) A fault-tolerant bus system
US5859987A (en) Method and apparatus for providing multiple configuration reset modes for an intelligent bridge
US6237057B1 (en) Method and system for PCI slot expansion via electrical isolation
US6195723B1 (en) Method and system for providing peer-to-peer control in an expanded slot environment using a bridge as an agent for controlling peripheral device
JP4359618B2 (ja) コンフィグレーション・レジスター・アクセス方法、設定方法、集積回路部品、コンピューター・システム、製品
JP3525771B2 (ja) バス・スヌープ制御回路
JPH076120A (ja) インタフェース制御装置

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: 20060503

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee