KR19990082733A - 리셋후의pci시스템과어댑터의필수요건 - Google Patents

리셋후의pci시스템과어댑터의필수요건 Download PDF

Info

Publication number
KR19990082733A
KR19990082733A KR1019990008529A KR19990008529A KR19990082733A KR 19990082733 A KR19990082733 A KR 19990082733A KR 1019990008529 A KR1019990008529 A KR 1019990008529A KR 19990008529 A KR19990008529 A KR 19990008529A KR 19990082733 A KR19990082733 A KR 19990082733A
Authority
KR
South Korea
Prior art keywords
peripheral
device configuration
response
bus
computer system
Prior art date
Application number
KR1019990008529A
Other languages
English (en)
Other versions
KR100339442B1 (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 KR19990082733A publication Critical patent/KR19990082733A/ko
Application granted granted Critical
Publication of KR100339442B1 publication Critical patent/KR100339442B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • 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/10Program control for peripheral devices

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Abstract

기능 정지를 피하고 그로 인하여 오퍼레이팅 시스템으로 새 주변 소자를 초기화하기 위한 시스템 리부팅(rebooting)의 필요성을 피하기 위해 접속 시도에 응답하여 소자에 적용되는 리셋 신호의 표명 해제로부터 미리 결정된 시간 구간 내에 소자로부터 컴퓨터 시스템의 버스까지의 상태 메시지로 응답함에 의해 컴퓨터 시스템에 새로이 추가된 주변 소자들을 레지스터 하는 방법이다. 소자는 초기에 재시도 응답을 보내는 것이 허용될 수 있으며, 미리 정하여진 시간 구간보다 짧은 초기 레이턴시(latency) 구간 동안에 제공된 응답이 일어난다. 본 발명은 또한 주변 소자들이 기기 구성 배치 완성 직후에 따르는 비 기기 구성 배치 사이클에 응답할 수 있게 한다. 주변 소자의 내부 논리 회로는 상태 메시지로 응답 후에 초기화되어 질 수 있다. 비트를 (주변 소자의 기기 구성 배치 공간 내에서 주변 소자가 준비되었다는 것을 표시하기 위해) 설정함에 의해 응답할 준비가 될 때까지 주변 소자들로의 비 기기 구성 배치 접속은 방지되어 질 수 있다.

Description

리셋 후의 PCI 시스템과 어댑터의 필수 요건{PCI SYSTEM AND ADAPTER REQUIREMENTS FOLLOWING RESET}
본 발명은 일반적으로 컴퓨터 시스템에 관한 것으로, 구체적으로 말하자면, 시스템 리셋 후 기기 구성 배치를 필요로 하고 주변(로컬) 버스를 사용하여 시스템의 프로세서와 서로 연결되는 주변 소자들, 특히 (그래픽 어댑터 혹은 네트워크 어댑터와 같은) 어댑터 소자들을 가지는 컴퓨터 시스템의 기기 구성 배치 방법에 관한 것이다.
종래의 컴퓨터의 전형적인 구조는 시스템 메모리 소자(랜덤 액세스 메모리 혹은 RAM) 와 다양한 주변 기기, 혹은 입/출력(I/O), 디스플레이 모니터, 키보드, 그래픽컬 포인터(마우스), 영구 저장 소자(하드디스크)와 같은 소자들에 연결되는 하나 혹은 그 이상의 처리 장치들을 포함하고 있다. 시스템 메모리 소자는 처리 장치에 의해 프로그램 명령들을 수행하는데 사용되고 그러한 명령들 뿐만 아니라 프로그램에 의해 주어지거나 발생되는 데이터 값들을 저장한다. 처리 장치는 하나 혹은 그 이상의 상호 연결들(버스들) 혹은 다이렉트 메모리 엑세스 채널들을 포함하는 다양한 수단에 의해 다른 구성 요소들과 통신 한다. 컴퓨터 시스템은 프린터, 네트워크 어댑터 같은 것들에 연결하기 위한 많은 직렬 또는 병렬 포트와 같은 추가적인 구성 요소들을 가지고 있을 수 있다. 다른 구성 요소들은 앞서 말한 것들과 아울러서 또한 사용될 수 있다. 예를 들면 디스플레이 어댑터가 비디오 디스플레이 모니터를 조절하기 위해 사용 되어 질 수 있으며, 메모리 콘트롤러가 시스템 메모리에 접속하기 위해 사용 될 수 있다는 등이다.
다양한 컴퓨터 구성 요소들을 서로 연결하기 위해 몇 개의 여러 가지 버스 디자인들이 개발되었다. IBM 사(본 발명의 출원인)에 의해 소개된 최초의 퍼스널 컴퓨터(PCs)는 추가적인 메모리(RAM), 사운드 카드, 전화 모뎀 등의 다양한 선택적 소자들을 사용자들이 추가 할 수 있는 XT 버스로 알려진, "확장" 버스를 사용했다. 이런 초기의 디자인은 아이사(산업 표준 구조(ISA:Industry Standard Architecture)) 버스로도 역시 알려진 AT 버스를 만들기 위해 데이터와 어드레스 선, 새로운 인터럽트 선, 그리고 다이렉트 메모리 엑세스(DMA) 조절 선을 더 추가함에 의해 개량되었다. AT 디자인은 마이크로프로세서가 확장 버스보다 더 빠른 속도에서 동작할 수 있게 한다. 이러한 버스에 확장 산업 표준 구조(EISA:Extended Industry Standard Architecture)로 불리는 32-비트 짜리 확장은 이후에 만들어졌다. IBM 사에 의해 개발된 또 다른 32-비트 짜리 확장 버스는 마이크로채널 구조(MCA) 버스이다.
앞서 말한 디자인들에 덧붙여서 몇 가지의 다른 버스 디자인들이 주변 소자들을(버스 브리지를 사용하는) 시스템 버스에 서로 연결하는 분리된 로컬 버스와함께 프로세서와 시스템 메모리 소자들을 서로 연결하는 시스템의 사용을 가능하도록 개발되어 왔다. 2 가지의 잘 알려진 표준은 비디오 일렉트로닉스 표준 협회 (VL:Video Electronics Standard Association) 버스와 주변 구성 요소 연결(PCI: Peripheral Component Interconnect) 버스이다.
PCI 규격은 (10 개까지의 로드(load)가 버스에 걸릴 수 있으나 각각의 소자는 한 로드가 걸리는 한 슬롯에 대한 커넥터로서 두 개의 로드가 필요하게 되어서 브리지도 역시 하나의 로드로 계산하기 때문에 4 개의 소자들이 최대 (8 개의 로드) 로 추가 될 수 있는) PCI 버스를 따라 구성되는 "슬롯" 내에 4 개까지 PCI 규격을 따르는 확장 카드를 설치 할 수 있다. PCI 로컬 버스 시스템은 PCI 규격을 따르는 슬롯들 중 하나에 설치되어야만 하는 PCI 컨트롤러를 사용한다. 시스템의 ISA, EISA 혹은 MCA 슬롯들을 위한 확장 버스 콘트롤러는 모든 시스템의 버스 설치 자원들(resources)을 위한 증가된 동기화를 제공하며 또한 선택적으로도 설치 될 수 있다. PCI 콘트롤러는 구현에 따라 한 번에 32 비트 혹은 64 비트씩 마이크로프로세서와 데이터를 교환하고, 버스 마스터링이라 불리는 기술을 이용하여 마이크로프로세서와 동시에 태스크를 수행하기 위해 어떤 "인텔리젼트" 한 PCI 규격을 따르는 어댑터를 허용한다. PCI 규격은 또한 한 번에 버스에 나타날 한 개 이상의 전기 신호를 허용하는 기술인 멀티플렉싱을 가능하게 한다.
전형적인 PCI 시스템(10)은 도 1에 나타나 있다. 시스템(10)은 시스템 버스(18)에 모두 연결되어 있는 중앙 처리 장치(CPU)(12), 펌웨어(firmware) 혹은 판독 전용 기억 소자(롬(ROM))(14), 동적 램(디램(DRAM))(16)을 포함하고 있다.CPU(12), ROM(14) 그리고 DRAM(16)은 역시 PCI 호스트 브리지(22)를 사용하는 PCI 로컬 버스(20)와 결합되어진다. PCI 호스트 브리지(22)는 프로세서(12)가 버스 메모리 혹은 I/O 어드레스 공간 내 어느 곳에 맵 화된 PCI 소자들에 접속 할 수 있는 짧은 레이턴시 경로를 제공한다. PCI 호스트 브리지(22)는 또한 PCI 소자들이 DRAM 에 접속할 수 있는 높은 대역 경로를 제공하기도 한다.
PCI 로컬 버스(20)에 부착 된 것들은 로컬 지역 네트워크(랜(LAN)) 어댑터(24), 작은 컴퓨터 시스템 인터페이스(SCSI) 어댑터(26), 확장 버스 브리지(28), 오디오 어댑터(30) 그리고 그래픽 어댑터(32)이다. 랜 어댑터(24)는 컴퓨터 시스템(10)을 외부 컴퓨터 네트워크(34)에 연결하기 위해 사용된다. SCSI 어댑터(26)는 고속 SCSI 디스크 드라이브(36)을 조절하기 위해 사용된다. 확장 버스 브리지(28)는 ISA 확장 버스(38)를 PCI 로컬 버스(20)에 연결하기 위해 사용된다. 도시된 바와 같이, 몇 가지의 사용자 입력 소자들은 키보드(40), 마이크로폰(42) 그리고 그래픽컬 포인팅 디바이스(마우스)(44)를 포함하는 ISA 버스(38)에 연결된다. CD-ROM 드라이브(46)와 같은 다른 소자들 역시 ISA 버스(38)에 연결 될 수 있다. 오디오 어댑터(30)는 스피커(48)로의 오디오 출력을 조절하고 그래픽 어댑터(32)는 디스플레이 모니터(50)로의 시각적 출력을 조절한다.
초기의 컴퓨터 시스템에서는 컴퓨터가 처음 켜졌을 때 컴퓨터의 오퍼레이팅 시스템으로 소자를 적절히 레지스터 (초기화) 하기 위해서 모든 주변 구성 요소들이 연결되어져야만(PCI 혹은 ISA 슬롯에 삽입 되어져야만) 했다. 이러한 소자들은 그것들이 적절히 연결되어 있고 동작하는지를 알기 위해 주변 소자들을 테스트하는ROM(14) (또는 판독 전용 저장소 혹은 로스(ROS)로도 불림)에 저장된 루틴들의 한 세트를 포함하는 시스템의 파워-온(power-on) 자체 테스트(POST) 동안에 점검된다. 만약 어떤 소자들의 문제가 발견된다면, 이러한 루틴들은 연속된 빕(beep) 소리를 내거나 진단 수치 값을 동반하는 메시지를 표준 출력 소자 혹은 표준 에러 소자(통상적으로 디스플레이 화면)를 통해 보여줌에 의해 사용자에게 경고를 한다.
초기의 컴퓨터 시스템에서는, 만약 어떤 소자가 단순히 POST 동안 나타나지 않는다면, (컴퓨터가 계속 작동중에) 그 소자가 후에 슬롯에 삽입 될 때, 그 소자는 인식되어지지 않는다. 그 대신, 그러한 시스템들은 후에 추가된 소자들과 교통하고 사용할 수 있기 위해 "리부팅(rebooted)" 할 필요가 있었다. "리부팅 (rebooting)"이란 컴퓨터의 가장 기초적인 프로그램 명령, 다시말해 오퍼레이팅 시스템을 리로딩(reloading) 함에 의해 컴퓨터 시스템을 다시 시작하는 것을 말한다. 시스템은 소프트웨어 자체만을 사용(웜 부트(warm boot))하거나 시스템 하드웨어 즉, 리셋 혹은 파워 버튼을 작동(콜드 부트(cold boot))시켜서 리부팅 될 수 있다. 리부팅 후에는 다양한 방법을 사용하여 새로운 소자를 식별할 수 있다. 미국 특허 제 5,594,873 호를 참조 하기 바람.
최근의 컴퓨터 시스템은 컴퓨터가 동작하는 동안 버스에 추가된 소자들을 인식할 수 있는 능력이 있다. 다시 말하자면, 시스템 리부팅 할 필요 없이 버스에 추가된 소자들을 인식할 수 있는 능력이 있다. 한가지 예로서 주변 소자들과 함께 작동하기 위해 자동으로 PC 스스로를 구성할 수 있는 "플러그 앤드 플레이(plug and play)"라는 것이 있다. 수동으로 시스템을 구성함 없이 사용자가 주변 소자에버스를 "플러그(plug)" 하고 "플레이(play)" 할 수 있다. 플러그와 플레이 동작은 규격을 지원하는 ROM과 특별한 확장 카드 모두를 필요로 한다. 이러한 접근 방법은 새롭게 추가된 소자를 시스템이 인식할 수 있게 하지만 오퍼레이팅 시스템과 적절히 소자를 초기화하기 위하여 시스템 리셋이 계속해서 자주 필요하게 된다. 이런 분야에서 더 개량된 것은 "핫-플러그" 규격이라는 것인데, 그것은 분리된 리셋 라인이 각각의 주변 소자들에 제공되어서 전체 시스템을 리부팅 할 필요 없이 소자를 오퍼레이팅 시스템으로 초기화한다. (소자/시스템의 이런 능력은 "핫-플러거블 (hot-pluggable)" 로 알려져있다.)
주변 소자들의 초기화에서 잔존하는 하나의 문제는 리셋 신호(RST#) 를 해제 한 다음에, 어댑터가 (어댑터가 작동 중이지만 현재 너무 사용량이 많아 초기화에 응답 할 수 없다는 것을 나타내기 위해 사용되는 응답인) RETRY 응답으로도 기기 구성 배치 사이클에 응답 할 준비가 되기 전에 긴 시간이 존재할 수 있다는 것이다. 그 결과, RST#를 해제 한 다음 시스템이 만일 응답이 없다면 어댑터가 존재하지 않거나 고장난 것 처럼 생각할 수 있다. 만일 소자가 RETRY를 가지는 기기 구성 배치 혹은 레귤러(비 기기 구성 배치) 사이클에 응답한다면, PCI 버스와 시스템 프로세서 아니면 PCI 버스나 시스템 프로세서의 기능이 정지 할 수 있고, 결과적으로 시스템을 리부팅하는 것이 필수 요건이 된다.
이전에는 이러한 문제는 과히 중요하지 않았으나 현재는 프로세서와 나머지 I/O의 부분 시스템이 동작 중인 상태에 있는 동안 어댑터 카드와 어댑터 그룹 혹은 어댑터 카드나 어댑터 그룹이 리셋되는 결과를 낳을 수 있는 많은 상황들이 존재한다. 이러한 문제에 기여하는 하나의 요인은 RST# 해제 다음 기기 구성 배치 사이클을 처리 할 수 있거나 혹은 RETRY로 응답조차도 할 수 있기 전에 프로그램 가능한 논리 어레이(PLA)를 초기화해야만 하는 어댑터나 기기 구성 배치 사이클을 처리 할 수 있거나 혹은 RETRY로 응답조차도 할 수 있기 전에 레지스터들을 로딩하고 다른 초기화 단계를 완수해야만 하는 어댑터와 같이 복잡한 어댑터들이 늘어나고 있다는 것이다. 다른 요인으로는 핫-플러그 규격과 유사한 PCI 파워 관리 규격 혹은 나머지 시스템과 PCI I/O의 부분 시스템이 동작 중인 상태에 있는 동안 각각의 카드에 대한 진단 분석 내에 제공되어져 있는 것 같은 그런 어댑터에 분리된 리셋 라인이 공급되고 있다는 것이다.
앞서 말한 것으로 미루어 보아, 주변 소자들로부터 지연된 초기화 응답을 동반하는 리부팅 필수 요건을 피하는 방법을 고안하는 것이 바람직 할 것이다. 만일 기기 구성 배치 완성 다음으로 RETRY 응답 없이 어댑터가 정상적인 (비 기기 구성 배치) 사이클에 응답할 준비가 되어 있다면, 그것은 더욱더 이점으로 작용할 것이다.
따라서, 본 발명의 목적은 시스템에 주변 소자들을 추가하는 것을 허용하는 확장 버스를 가진 개량된 컴퓨터 시스템을 제공하는 것이다.
본 발명의 다른 목적은 전체 시스템의 리부팅 없이 소자의 초기화를 가능하게 하기 위해 주변 소자에 리셋 신호가 인가될 수 있는 그러한 컴퓨터 시스템을 제공하는 것이다.
본 발명의 또 다른 목적은 초기화 실패를 피하기 위해 주변 소자들로부터 초기화 응답의 지연을 줄이는 그러한 컴퓨터 시스템을 제공하는 것이다.
전술한 목적들은 주변 소자들을 컴퓨터에 레지스터 하는 방법으로써 달성되어지는데, 일반적으로, 이 방법은 컴퓨터의 버스로부터 슬롯을 분리하고, 슬롯에 주변 소자를 삽입하며, 버스에 슬롯을 연결하고, 슬롯상에서 리셋 신호의 표명 해제를 하며, 컴퓨터에 위해 설정된 미리 정해진 시간 구간 내에 접속 시도에 대해 응답하여 주변 소자로부터 버스로의 상태 메시지로 응답하고, 응답 단계에 응답하여 주변 소자들을 컴퓨터의 오퍼레이팅 시스템으로 초기화하는 단계들을 포함하고 있다. 만약 상태 메시지가 재시도 응답이면, 응답 단계는 미리 정해진 시간 구간보다 짧은 초기 레이턴시 구간 동안에 일어난다. 본 발명은 역시 기기 구성 배치 완성 후 즉시 따르는 비 기기 구성 배치 사이클에 주변 소자들이 응답할 수 있게 한다. 주변 소자의 내부 논리 회로는 응답 단계 후에 초기화 될 수 있는데 달리 말하자면 진단 동작과 같은 다른 동작들로 내부 초기화 부분이 옮겨질 수 있다.
본 발명은 주변 소자가 비 기기 구성 배치로의 접속에 응답할 준비가 될 때까지 주변 소자에 그러한 비 기기 구성 배치로의 접속을 막기 위해 주변 소자의 기기 구성 배치 공간을 통한 소자 드라이버와 주변 소자간의 통신의 사용을 역시 고려하고 있다. 이러한 특징은 주변 소자의 기기 구성 배치 공간 내에 비트를 설정함에 의해 구현될 수 있다.
위에 설명된 내용뿐만 아니라 본 발명의 추가적인 목적, 특징, 이점들이 다음의 상세하게 기술되는 것에 의해 명백하게 될 것이다.
도 1은 주변 소자가 컴퓨터 시스템에 부가 되는 것을 가능하게 하는 PCI 버스를 가지는 종래의 컴퓨터 시스템의 블록도.
도 2는 주변 소자들을 받아들이기 위한 다수의 슬롯들과 시스템의 나머지 부분들이 계속 작동하는 동안에 소자들을 초기화하기 위해 사용되어지는 "핫-플러그(hot-plug)" 콘트롤러가 있는 PCI 버스를 가진 본 발명에 따라 구성된 컴퓨터 시스템의 한 실시예의 블록도.
<도면의 주요 부분에 대한 부호의 설명>
100 : 컴퓨터 시스템
102 : 시스템 프로세서
104 : 시스템 메모리
106 : 시스템 버스
108 : PCI 호스트 브리지
110 : PCI 버스
112 : 슬롯1
114 : 슬롯2
116 : 슬롯3
118 : 핫-플러그 스위치
120 : 핫-플러그 스위치
122 : 핫-플러그 스위치
124 : 핫-플러그 콘트롤러
본 발명의 특성이라 믿어 의심치 않는 새로운 특징들은 첨부된 청구항에 밝혀져 있다. 그러나 발명 그 자체뿐만 아니라 바람직하게 사용할 모드, 더 추가된 목적, 이점들은 아래의 발명의 구성 및 작용에 상세히 기술된 내용과 다음에 기술되는 도면의 간단한 설명을 함께 읽음으로써 가장 잘 이해되어 질 수 있다.
특별히 도 2를 참조로 하면, 본 발명에 따라 구성된 컴퓨터 시스템(100)의 한 실시예가 나타나 있다. 시스템(100)은 시스템 버스(106)를 사용하여 시스템 메모리 소자(104)에 연결된 CPU 혹은 프로세서(102)를 포함한다. PCI 호스트 브리지(108) 는 PCI 로컬 버스(110)를 시스템 버스(106)에 연결하는 데 사용되어진다. 다양한 주변 소자들은 다수의 슬롯들- 그들 중 세 개(112, 114 및 116)가 나타나 있음- 을 사용하여 시스템에 제거가 가능하게 연결 될 수 있다. 각각의 슬롯은 각각의 핫 플러그 스위치들(118, 120 및 122)을 사용하여 PCI 버스(110)에 연결되어지는데, 이런 스위치들은 나머지 플렛폼이 작동하는 동안에도 버스(110)로부터 하나의 슬롯상에 있는 모든 신호들을 분리하기 위하여 사용될 수 있다. 스위치들(118, 120 및 122)은 또한 플렛폼의 나머지가 계속 완전한 파워가 들어와 있는 동안에도 슬롯으로부터 모든 파워를 제거한다. 핫-플러그 콘트롤러(124)는 또한 PCI 호스트 브리지(124)와 각각의 핫 플러그 스위치(118, 120 및 122)에 연결된다.
도시된 실시예에서, 컴퓨터 시스템(100)은 본 명세서에 참고로 사용된 인텔사에 의해 출간(1997년 10월 6일에 출간)된 문서 "PCI 핫-플러그 규격" rev. 1.0에기술되어 있는 핫-플러그 디자인이 가능한 디자인을 따르고 있다. 32 비트 혹은 64 비트 짜리의 33 MHz 나 66 MHz 에서 동작하고 3.3 볼트나 5 볼트 짜리 신호를 사용하는 그와 같은 슬롯들(112, 114 및 116)이 어댑터 카드를 위해 디자인되어진다. (그러한 어댑터 카드는 이 후 기술되는 바와 같은 신규한 구성을 갖고 있다.) 어댑터 카드는 PCI-PCI 브리지의 뒤로 단수의 PCI 소자나 복수의 소자를 가질 수 있다. 각각의 슬롯은 독특하게 특정의 슬롯을 식별하는 논리적 슬롯 식별기를 가지고 있다.
핫-플러그 콘트롤러(124)는 PCI 슬롯의 전기적 측면의 파워 업과 다운을 조정한다. 한 개 이상의 핫-플러그 콘트롤러가 사용될 수 있다. 핫-플러그 콘트롤러를 조절하고 감시하기 위해 소프트웨어 드라이버(핫-플러그 시스템 드라이버)가 사용되어진다. 만일 하나 이상의 핫-플러그 콘트롤러가 존재한다면, 하나 이상의 핫-플러그 시스템 드라이브가 사용될 수 있다. 높은 레벨의 소프트웨어(핫-플러그 "서비스")는 핫-플러그 동작의 모든 전체를 조정한다. 이런 서비스는 사용자 인터페이스를 포함하며 오퍼레이팅 시스템에 어댑터의 동작을 정지시키는 요구를 발행할 수 있고 더 나아가서 스위치(118, 120 및 122)를 사용하여 슬롯들을 온(on) 혹은 오프(off) 시키기 위해 핫-플러그 시스템 드라이버에 요구(프리미티브 (primitive))를 발행할 수 있다.
슬롯들(112, 114 및 116) 중 하나에 위치하는 어댑터는 전체 시스템의 리부팅 필요 없이 컴퓨터 시스템(100)의 오퍼레이팅 시스템에 의해 초기화되어 질 수 있다. 핫-플러그 콘트롤러(124)를 사용하여 어댑터 카드를 삽입하기 전에 슬롯은파워 다운되고 PCI 버스로부터 분리되어진다. 카드를 삽입한 후 사용자는 핫-플러그 시스템 드라이버에 프리미티브를 발행함에 의해 새로운 어댑터를 포함하는 슬롯을 켜는 핫-플러그 서비스를 통보한다. 핫-플러그 서비스는 슬롯을 파워-업하고 적절한 핫-플러그 스위치를 사용하여(특정한 슬롯 리셋 핀들은 독립적으로 조정되어 짐) PCI 버스(110)에 슬롯을 연결하며 슬롯상에서 리셋 신호(RST#)의 표명 해제를 하기 위하여 핫-플러그 콘트롤러(124)를 사용한다. 핫-플러그 서비스는 그 후에 새로운 어댑터 카드가 설치되었다는 것을 오퍼레이팅 시스템에 통보하고 그래서 오퍼레이팅 시스템이 어댑터를 초기화 할 수 있고 그것을 사용할 준비를 할 수 있다. (사용자는 또한 디스플레이 모니터에 나타난 메시지로 카드가 준비되어 있다는 것을 통보 받을 수 있다.)
앞서 언급한 바와 같이 리셋 신호의 해제에 대한 응답이 매우 오래 지연되어서 리부팅이 필요한 어댑터의 문제를 본 발명에서는 피하고 있다. RST# 의 해제로부터 프로세서(102)에 의해 첫 번째 기기 구성 배치로의 접속이 시도될 때까지의 시간 구간 동안에 어댑터의 내부 버스 논리 회로가 초기화되어질 수 있게 하기 위하여 미리 결정된 시간(Tx)이 설정된다 (예를 들어 1초 또는 2초). 어댑터가 내재되어 있지 않거나 고장난 것처럼 시스템(100)이 간주하게 되는 경우를 줄이기 위해 이런 시간 구간 Tx가 경과한 후에 카드가 정상적으로 RETRY 응답 없이 기기 구성 배치로의 접근을 다루도록 디자인 되어있다. 달리 말하자면, 카드는 이 시간 내에 재시도 않는 상황 메시지 (혹은 긍정응답)로써 응답할 수 있는 규격에 따른다. 이따금씩 RETRY 응답은 받아들여질 수 있으며 초기 레이턴시 필수 요건인 16 클럭 사이클에 맞도록 제공된다. 어댑터의 하드웨어와 소프트웨어 혹은 어댑터의 하드웨어나 소프트웨어는 Tx를 만족시키도록 실행된다. 본 발명에 따라 구성된 어댑터는 기기 구성 배치 공간 설정 직후에 (다시 정상적으로 RETRY 응답 없이 그리고 초기의 레이턴시 필수 요건에 맞는 그러한 응답으로) 어댑터의 어드레스 공간들을 사용 가능하게 하는 기기 구성 배치 완성후 따르는 정상적인(비 기기 구성 배치) 사이클에 더 선호적으로 응답할 수 있다.
긴 내부 초기화 과정을 필요로 할 수 있는 좀 더 복잡한 어댑터 카드들을 위하여 Tx요구사항에 부합하는 한가지 해결책은 긴 내부 초기화 시간 응답을 일으키는 기능들을 초기화 루틴에서 떼어 내어 내부 설치된 자체 테스트(BIST) 동작과 같은 다른 동작으로 옮겨놓는 것이다. 그로 인하여 그러한 기능들은 (바로 리셋 다음에 따라 오는) 초기화 동작의 부분 대신에 BIST 를 통한 후의 "진단" 동작 동안에 시작될 수 있다.
길게 연속하는 RETRY 응답 혹은 대기 상태와는 뭔가 다른 정상 사이클에 아직 달리 응답하지 않을 매우 복잡한 주변 소자들에 대한 대안적인 해결책은 어댑터가 접속에 응답할 준비가 될 때까지 어댑터로의 정상적인(비 기기 구성 배치로의) 접속을 막는 어댑터 드라이버를 구현하는 것이다. 어댑터 기기 구성 배치 공간 내의 하나의 비트는 어댑터가 (그 비트를 설정함에 의해) 정상 사이클에 응답할 준비가 되어 있다고 표시했는지를 결정하기 위해 이런 비트를 기기 구성 배치 소프트웨어나 소자 드라이버가 점검할 수 있도록 정의될 수 있다.
비록 본 발명이 특정한 실시예에 대한 참조로 서술되어졌지만, 이러한 서술은 제한된 의미로 해석됨을 의미하지 않는다. 도시화된 실시예에 대한 다양한 변형뿐 아니라 발명의 대안적인 실시예들이 서술된 본 발명을 참조한다면 본 기술 분야에 숙달된 사람들에게 명백하게 될 것이다. 예를 들면, 본 발명은 PCI 파워 관리 서비스에 의해 발생되는 것과 같은 유사한 리셋 응답들에 응용될 수 있다. 그러므로 첨부된 청구항에 의해 정의되어지는 본 발명의 사상이나 범주로부터 벗어나지 않으면서 그러한 변형이 가능할 것으로 생각된다.
따라서 본 발명에 의해서, 소자는 초기에 재시도 응답을 보내는 것이 허용될 수 있으며, 미리 정하여진 시간 구간보다 짧은 초기 레이턴시(latency) 구간 동안에 제공된 응답이 일어난다. 본 발명은 또한 주변 소자들이 기기 구성 배치 완성 직후에 따르는 비 기기 구성 배치 사이클에 응답할 수 있게 한다. 주변 소자의 내부 논리 회로는 상태 메시지로 응답 후에 초기화되어 질 수 있다. 비트를 (주변 소자의 기기 구성 배치 공간 내에서 주변 소자가 준비되었다는 것을 표시하기 위해) 설정함에 의해 응답할 준비가 될 때까지 주변 소자들로의 비 기기 구성 배치 접속은 방지되어 질 수 있다.

Claims (19)

  1. 주변 소자를 컴퓨터에 레지스터 하는 방법에 있어서,
    컴퓨터의 버스로부터 주변 소자를 받아들이도록 되어있는 슬롯을 분리하는 단계;
    상기 슬롯에 상기 주변 소자를 삽입하는 단계;
    상기 삽입 단계 후에 상기 버스에 상기 슬롯을 연결하는 단계;
    상기 삽입 단계 후에 상기 슬롯상에서 리셋(reset) 신호의 표명 해제(deasserting)를 하는 단계;
    상기 컴퓨터에 의해 설정된 미리 결정된 시간 구간 내에 접속 시도에 응답하여 상기 주변 소자로부터 상기 버스로의 상태 메시지로 응답하는 단계; 및
    상기 응답 단계에 응답하여 상기 컴퓨터의 오퍼레이팅 시스템으로 상기 주변 소자를 초기화하는 단계
    를 포함하는 방법.
  2. 제 1 항에 있어서, 상태 메시지가 재시도 응답이고, 상기 응답 단계가 상기 미리 결정된 시간 구간보다 짧은 초기 레이턴시(latency) 구간 동안에 일어나는 방법.
  3. 제 1 항에 있어서, 기기 구성 배치 완성 직후에 따르는 비 기기 구성 배치사이클들에 상기 주변 소자가 응답하는 단계를 더 포함하는 방법.
  4. 제 3 항에 있어서, 비 기기 구성 배치 사이클들에 응답하는 상기 단계가 상기 미리 결정된 시간 구간보다 짧은 초기 레이턴시 구간 동안에 재시도 응답을 전송하는 단계를 포함하는 방법.
  5. 제 1 항에 있어서, 상기 응답 단계 이후, 상기 주변 소자의 내부 논리 회로를 초기화하는 단계를 더 포함하는 방법.
  6. 제 5 항에 있어서, 상기 주변 소자의 내부 논리 회로를 초기화하는 상기 단계가 진단 동작을 수행하는 단계를 포함하는 방법.
  7. 제 1 항에 있어서, 상기 주변 소자가 비 기기 구성 배치 접속에 응답할 준비가 될 때까지 드라이버가 상기 주변 소자로의 그러한 비 기기 구성 배치 접속을 방지하는 단계를 더 포함하는 방법.
  8. 제 7 항에 있어서, 상기 방지 단계가 상기 주변 소자가 준비되었다는 것을 표시하기 위해 상기 주변 소자의 기기 구성 배치 공간 내에 비트를 설정하는 단계를 포함하는 방법.
  9. 제 7 항에 있어서, 상기 방지 단계가 상기 주변 소자가 준비되었다는 것을 표시하기 위해 상기 컴퓨터의 상기 오퍼레이팅 시스템의 기기 구성 배치 공간 내에 비트를 설정하는 단계를 포함하는 방법.
  10. 제 9 항에 있어서, 상기 비트가 상기 기기 구성 배치 공간 내에 정의되었음을 상기 오퍼레이팅 시스템이 결정하는 단계를 더 포함하는 방법.
  11. 컴퓨터 시스템에 있어서,
    메모리 소자;
    상기 메모리 소자 내에 저장된 프로그램 명령들을 수행하는 프로세서 수단;
    주변 소자;
    상기 주변 소자를 상기 프로세서 수단에 연결하는 수단; 및
    상기 주변 소자에 인가되는 리셋 신호의 표명 해제(deasserting)로부터 미리 결정된 시간 구간 내에 상기 주변 소자로의 접속 시도에 응답하여 상기 주변 소자로부터 상태 메시지로 응답하는 수단
    을 포함하는 컴퓨터 시스템.
  12. 제 11 항에 있어서, 상기 연결 수단에 상기 주변 소자가 부착되었음을 알리는 것에 응답하여 상기 리셋 신호를 표명 해제 하는 수단을 더 포함하는 컴퓨터 시스템.
  13. 제 11 항에 있어서, 상기 프로세서 수단은 시스템 버스를 구비하고 상기 연결 수단은 로컬 버스를 포함하는 컴퓨터 시스템.
  14. 제 11 항에 있어서, 상기 연결 수단이 상기 주변 소자를 받아들이도록 되어있는 슬롯을 포함하는 컴퓨터 시스템.
  15. 제 11 항에 있어서, 상기 상태 메시지는 재시도 응답이고, 상기 응답 수단이 상기 미리 정해진 시간 구간보다 짧은 초기 레이턴시 구간 동안에 재시도 응답을 전송하는 컴퓨터 시스템.
  16. 제 11 항에 있어서, 상기 주변 소자가 기기 구성 배치 완성 직후 상기 프로세서 수단으로부터의 비 기기 구성 배치 접속에 응답하기 위한 수단을 포함하는 컴퓨터 시스템.
  17. 제 11 항에 있어서, 상기 주변 소자가 상기 상태 메시지의 상기 전송 후 상기 주변 소자의 내부 논리 회로를 초기화하기 위한 수단을 포함하는 컴퓨터 시스템.
  18. 제 11 항에 있어서, 상기 주변 소자가 비 기기 구성 배치 접속에 응답할 준비가 될 때까지 그러한 비 기기 구성 배치 접속을 방지하기 위한 수단을 더 포함하는 컴퓨터 시스템.
  19. 제 18 항에 있어서, 상기 방지 수단이 상기 주변 소자가 준비되었음을 표시하기 위해 기기 구성 배치 공간 내에 비트를 설정하는 컴퓨터 시스템.
KR1019990008529A 1998-04-27 1999-03-13 주변장치를 컴퓨터에 등록하는 방법 및 컴퓨터 시스템 KR100339442B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US09/067,042 US6035355A (en) 1998-04-27 1998-04-27 PCI system and adapter requirements following reset
US9/067,042 1998-04-27
US09/067,042 1998-04-27

Publications (2)

Publication Number Publication Date
KR19990082733A true KR19990082733A (ko) 1999-11-25
KR100339442B1 KR100339442B1 (ko) 2002-06-03

Family

ID=22073348

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990008529A KR100339442B1 (ko) 1998-04-27 1999-03-13 주변장치를 컴퓨터에 등록하는 방법 및 컴퓨터 시스템

Country Status (6)

Country Link
US (1) US6035355A (ko)
EP (1) EP0953902A3 (ko)
JP (1) JP3974288B2 (ko)
KR (1) KR100339442B1 (ko)
CN (1) CN1130645C (ko)
TW (1) TW426833B (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460106B1 (en) * 1998-10-20 2002-10-01 Compaq Information Technologies Group, L.P. Bus bridge for hot docking in a portable computer system
US6292859B1 (en) * 1998-10-27 2001-09-18 Compaq Computer Corporation Automatic selection of an upgrade controller in an expansion slot of a computer system motherboard having an existing on-board controller
US6295566B1 (en) * 1998-10-31 2001-09-25 Campaq Computer Corporation PCI add-in-card capability using PCI-to-PCI bridge power management
US6237057B1 (en) * 1998-12-16 2001-05-22 International Business Machines Corporation Method and system for PCI slot expansion via electrical isolation
US6195723B1 (en) * 1998-12-16 2001-02-27 International Business Machines Corporation Method and system for providing peer-to-peer control in an expanded slot environment using a bridge as an agent for controlling peripheral device
KR100517546B1 (ko) 1999-07-16 2005-09-28 삼성전자주식회사 엘이디 표시기에 포스트 코드를 표시하는 휴대용 컴퓨터
US6625680B1 (en) * 1999-08-16 2003-09-23 Cisco Technology, Inc. System and method for processing circuit card connector and redundancy events
US6618783B1 (en) * 1999-10-29 2003-09-09 Hewlett-Packard Development Company, L.P. Method and system for managing a PCI bus coupled to another system
DE19960243A1 (de) * 1999-12-14 2001-07-05 Infineon Technologies Ag Bussystem
US6532558B1 (en) * 2000-03-02 2003-03-11 International Business Machines Corporation Manufacturing testing of hot-plug circuits on a computer backplane
US6772263B1 (en) * 2000-08-10 2004-08-03 Serverworks Corporation PCI arbiter with hot plug controller support
US7295882B2 (en) * 2002-06-27 2007-11-13 International Business Machines Corporation Method and apparatus for audible error code detection and identification
CN1302358C (zh) * 2003-05-21 2007-02-28 华为技术有限公司 一种桥接芯片的复位方法及其装置
JP4321754B2 (ja) * 2003-07-31 2009-08-26 Tdk株式会社 圧電共振器およびそれを用いたフィルタ
US7073008B2 (en) * 2003-09-15 2006-07-04 Media Tek Inc. Method of function activation on a bridge system
US7310099B2 (en) * 2004-05-03 2007-12-18 Dell Products L.P. Information handling system including detection of inappropriate video connection
US20060161712A1 (en) * 2004-07-29 2006-07-20 Arramreddy Sujith K PCI arbiter with hot plug controller support
US7139184B2 (en) 2004-12-07 2006-11-21 Infineon Technologies Ag Memory cell array
US7539801B2 (en) * 2005-05-27 2009-05-26 Ati Technologies Ulc Computing device with flexibly configurable expansion slots, and method of operation
US20060282724A1 (en) * 2005-06-14 2006-12-14 Microsoft Corporation Programmatically switched hot-plug PCI slots
US8056072B2 (en) * 2005-10-31 2011-11-08 Microsoft Corporation Rebootless display driver upgrades
US8386654B2 (en) * 2008-03-25 2013-02-26 Hewlett-Packard Development Company, L.P. System and method for transforming PCIe SR-IOV functions to appear as legacy functions
US8294188B2 (en) * 2008-10-16 2012-10-23 Qimonda Ag 4 F2 memory cell array
US7759704B2 (en) * 2008-10-16 2010-07-20 Qimonda Ag Memory cell array comprising wiggled bit lines
US8527816B2 (en) * 2010-03-10 2013-09-03 International Business Machines Corporation Identifying a defective adapter
CN104932921B (zh) * 2015-06-16 2018-07-06 联想(北京)有限公司 启动控制方法和电子设备

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4426679A (en) * 1980-09-29 1984-01-17 Honeywell Information Systems Inc. Communication multiplexer using a random access memory for storing an acknowledge response to an input/output command from a central processor
JP3421378B2 (ja) * 1993-03-23 2003-06-30 株式会社東芝 伝送制御方式
US5548782A (en) * 1993-05-07 1996-08-20 National Semiconductor Corporation Apparatus for preventing transferring of data with peripheral device for period of time in response to connection or disconnection of the device with the apparatus
US5537664A (en) * 1993-06-30 1996-07-16 Intel Corporation Methods and apparatus for generating I/O recovery delays in a computer system
US5533204A (en) * 1994-04-18 1996-07-02 Compaq Computer Corporation Split transaction protocol for the peripheral component interconnect bus
US5517646A (en) * 1994-04-25 1996-05-14 Compaq Computer Corp. Expansion device configuration system having two configuration modes which uses automatic expansion configuration sequence during first mode and configures the device individually during second mode
US5768542A (en) * 1994-06-08 1998-06-16 Intel Corporation Method and apparatus for automatically configuring circuit cards in a computer system
US5594873A (en) * 1994-12-08 1997-01-14 Dell Usa, L.P. System and method for identifying expansion devices in a computer system
US5548712A (en) * 1995-01-19 1996-08-20 Hewlett-Packard Company Data storage system and method for managing asynchronous attachment and detachment of storage disks
KR960032232A (ko) * 1995-02-25 1996-09-17 김광호 메모리 카드와 스마트카드 겸용 가능한 카드 리드/라이트 장치
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
KR100244836B1 (ko) * 1995-11-02 2000-02-15 포만 제프리 엘 컴퓨터시스템 및 다수의 기능카드 중 한개의 기능카드를 격리하는 방법
US5933609A (en) * 1996-04-08 1999-08-03 Vlsi Technology, Inc. Method and system for hot docking a portable computer to a docking station via the primary PCI bus
US5875310A (en) * 1996-05-24 1999-02-23 International Business Machines Corporation Secondary I/O bus with expanded slot capacity and hot plugging capability
US5922060A (en) * 1996-12-31 1999-07-13 Compaq Computer Corporation Expansion card insertion and removal
US5898869A (en) * 1996-09-20 1999-04-27 The Foxboro Company Method and system for PCMCIA card boot from dual-ported memory
US5784576A (en) * 1996-10-31 1998-07-21 International Business Machines Corp. Method and apparatus for adding and removing components of a data processing system without powering down
US5887144A (en) * 1996-11-20 1999-03-23 International Business Machines Corp. Method and system for increasing the load and expansion capabilities of a bus through the use of in-line switches
US5845114A (en) * 1997-01-08 1998-12-01 Telxon Corporation PC card initialization for microprocessor based devices

Also Published As

Publication number Publication date
TW426833B (en) 2001-03-21
JP3974288B2 (ja) 2007-09-12
KR100339442B1 (ko) 2002-06-03
JPH11353267A (ja) 1999-12-24
EP0953902A2 (en) 1999-11-03
US6035355A (en) 2000-03-07
EP0953902A3 (en) 2003-10-29
CN1233799A (zh) 1999-11-03
CN1130645C (zh) 2003-12-10

Similar Documents

Publication Publication Date Title
KR100339442B1 (ko) 주변장치를 컴퓨터에 등록하는 방법 및 컴퓨터 시스템
US6185642B1 (en) Bus for high frequency operation with backward compatibility and hot-plug ability
US6338107B1 (en) Method and system for providing hot plug of adapter cards in an expanded slot environment
US7099969B2 (en) Dynamic reconfiguration of PCI Express links
US6038624A (en) Real-time hardware master/slave re-initialization
US7024510B2 (en) Supporting a host-to-input/output (I/O) bridge
US6295566B1 (en) PCI add-in-card capability using PCI-to-PCI bridge power management
US5852743A (en) Method and apparatus for connecting a plug-and-play peripheral device to a computer
US20060168377A1 (en) Reallocation of PCI express links using hot plug event
US6122677A (en) Method of shortening boot uptime in a computer system
JPH09508227A (ja) Pciバス・コンピュータのための使用可/使用不可拡張romを有する追加ボード
JPH08180013A (ja) コンピュータシステム、pciバスクロック信号周波数における変化に応答してpciバス装置のコンフィギュレーションレジスタを再構成する方法、およびpciバス装置がpciバスと異なる動作速度を有することをオペレータに通知する方法
US6237057B1 (en) Method and system for PCI slot expansion via electrical isolation
JPH09185578A (ja) 拡張/ブリッジpciバスにおいてpci割込みバインディングおよびそれに関連した待ち時間を最適化するための方法および装置
JPH09237140A (ja) コンピュータシステム
US6564279B1 (en) Method and apparatus facilitating insertion and removal of modules in a computer system
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
US7099966B2 (en) Point-to-point electrical loading for a multi-drop bus
US6473810B1 (en) Circuits, systems, and methods for efficient wake up of peripheral component interconnect controller
US7069360B2 (en) Method and apparatus for detecting a device&#39;s ability to run at a selected frequency in a PCI non-inhibit bus-connect mode
US6374318B1 (en) Filter-circuit for computer system bus
US7577877B2 (en) Mechanisms to prevent undesirable bus behavior
US6360289B2 (en) System for autonomous configuration of peer devices
US6233638B1 (en) System for configuring peer devices
US6266770B1 (en) Method for autonomous configuration of peer devices

Legal Events

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

Payment date: 20060417

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee